【在主画面加入捷径】
       
【选择语系】
繁中 简中

[Windows] 求生手册:命令提示字符 (Command Prompt) 环境入门教学

【赞助商连结】

    前言

    很多年轻的电脑使用者没有经历过 DOS 或 GNU/Linux 的洗礼,很少用终端机环境。本文简介 Command Prompt (cmd) 环境,给还不会用终端机的电脑学习者一个入门指引。

    现在的 Windows 系统默认使用图形接口,只能透过终端机仿真器使用终端机环境。在 Windows 8 以前的 Windows 系统,透过左下角的 开始 (Start) ,选取 执行 (Run) 输入 cmd 后,即可进入终端机环境。在 Windows 10 中,在左下角按右键,选 Command Prompt 即可。

    原本的 DOS 视窗比较阳春,建议读者可用 Cmder 来代替。基本上 Cmder 还是跑 DOS 视窗,但是加入自己的调校,会比 Windows 原本附带的 DOS 终端机来得好用。

    在类 Unix 系统上,终端机环境设置得相当完善,有许多命令行工具可用,整合得相当好。相对来说,Windows 的终端机就没整合得那么好,不同的任务需要开启不同的终端机;像是 Visual C++ 有自己的终端机,MSYS2 也有自己的终端机,Anaconda 也附带了 Python 终端机;要依自己当下的需求开启不同的终端机环境。

    开始使用命令行终端环境

    第一次开启 cmd 环境时,建议先调整字体的大小,顺便将字体换成等寛的 Consolas,比较不会看得那么吃力,调整的方式是在视窗条按右键后选取相关菜单:

    Command Prompt Property

    进入终端机环境时,会看到类似以下的提示画面 (实际位置可能略有不同):

    C:\Users\Michael Chen>
    

    Windows 系统会用 C:D:E: 等代号来代表系统上的第一、二、三个磁盘,Windows 系统本身装在 C: 磁盘。C:\Users\Michael Chen> 代表现在所在的位置在 C: 磁盘的 Users 数据夹内的 Michael Chen 数据夹,这是使用者 Michael Chen 默认的家目录 (home directory) 位置。

    使用终端机的方法为在命令行上输入指令。例如,我们要观看某个目录内的内容,可以用 dir 指令。输入指令的方法是在命令行输入 dir 三个字母后按下 ENTER 键,如下例:

    C:\Users\Michael Chen>dir
     Volume in drive C has no label.
     Volume Serial Number is xxxx-xxxx
    
     Directory of C:\Users\Michael Chen
    
    03/18/2018  03:16 AM    <DIR>          .
    03/18/2018  03:16 AM    <DIR>          ..
    03/07/2018  08:10 AM    <DIR>          Contacts
    03/18/2018  02:24 AM    <DIR>          Desktop
    03/07/2018  08:10 AM    <DIR>          Documents
    03/18/2018  02:45 AM    <DIR>          Downloads
    03/07/2018  08:10 AM    <DIR>          Favorites
    03/27/2018  07:53 AM    <DIR>          Links
    03/07/2018  08:10 AM    <DIR>          Music
    03/27/2018  07:53 AM    <DIR>          OneDrive
    03/07/2018  08:10 AM    <DIR>          Pictures
    03/07/2018  08:10 AM    <DIR>          Saved Games
    03/07/2018  08:10 AM    <DIR>          Searches
    03/07/2018  08:10 AM    <DIR>          Videos
                   0 File(s)              0 bytes
                  14 Dir(s)  512,341,483,520 bytes free
    
    C:\Users\Michael Chen>
    

    在本例中,dir 显示出家目录所有的内容后,将控制权返还给使用者,这时候可以继续输入下一个指令。

    我们可以用参数改变指令的行为,如下例:

    C:\Users\Michael Chen>dir /w
     Volume in drive C has no label.
     Volume Serial Number is E680-CBFA
    
     Directory of C:\Users\Michael Chen
    
    [.]           [..]          [Contacts]    [Desktop]     [Documents]   [Downloads]   [Favorites]   [Links]       [Music]       [OneDrive]    [Pictures]    [Saved Games] [Searches]    [Videos]
                   0 File(s)              0 bytes
                  14 Dir(s)  511,730,880,512 bytes free
    
    

    在这个例子中,我们在 dir 指令额外加上 /w 参数,改变显示的方式。

    获得说明文件

    另外一个值得注意的参数是 /?,这个参数是该指令内建的小型教学文件,如下例:

    C:\> dir /?
    Displays a list of files and subdirectories in a directory.
    
    DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
      [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
    
      [drive:][path][filename]
                  Specifies drive, directory, and/or files to list.
    
      /A          Displays files with specified attributes.
      attributes   D  Directories                R  Read-only files
                   H  Hidden files               A  Files ready for archiving
                   S  System files               I  Not content indexed files
                   L  Reparse Points             -  Prefix meaning not
      /B          Uses bare format (no heading information or summary).
      /C          Display the thousand separator in file sizes.  This is the
                  default.  Use /-C to disable display of separator.
      /D          Same as wide but files are list sorted by column.
      /L          Uses lowercase.
      /N          New long list format where filenames are on the far right.
      /O          List by files in sorted order.
      sortorder    N  By name (alphabetic)       S  By size (smallest first)
                   E  By extension (alphabetic)  D  By date/time (oldest first)
                   G  Group directories first    -  Prefix to reverse order
      /P          Pauses after each screenful of information.
      /Q          Display the owner of the file.
      /R          Display alternate data streams of the file.
      /S          Displays files in specified directory and all subdirectories.
      /T          Controls which time field displayed or used for sorting
    Press any key to continue . . .
    

    学习从命令行工具本身查阅命令行工具的参数相当重要,无论是书籍或在线教程等次级数据,不一定能代表自己的系统上该工具真正可用的参数;养成自己查参数的习惯,可以得到最真实的初级数据。

    help 也是一个值得一提的工具,该工具罗列出所有 cmd 环境的内建命令:

    C:\> help
    For more information on a specific command, type HELP command-name
    ASSOC          Displays or modifies file extension associations.
    ATTRIB         Displays or changes file attributes.
    BREAK          Sets or clears extended CTRL+C checking.
    BCDEDIT        Sets properties in boot database to control boot loading.
    CACLS          Displays or modifies access control lists (ACLs) of files.
    CALL           Calls one batch program from another.
    CD             Displays the name of or changes the current directory.
    CHCP           Displays or sets the active code page number.
    CHDIR          Displays the name of or changes the current directory.
    CHKDSK         Checks a disk and displays a status report.
    CHKNTFS        Displays or modifies the checking of disk at boot time.
    CLS            Clears the screen.
    [移除一些内容]
    

    help 搭配某个指令名称时,等同于该指令的 /? 参数:

    C:\> help cls
    Clears the screen.
    
    CLS
    

    透过以上教学,读者应该有足够的能力可以自我学习。

    继续深入

    微软提供一份官方版本的指令参考手册,适用于 Windows 8.1 之后的版本,会比内建的 help 指令提供更多的资讯,有在线版和 PDF 版,有需要的读者可自行前往该网站。

    我们这里列出常见的指令:

    • exit:离开终端机
    • dir:列出数据夹的内容
    • cd:切换数据夹
    • mdmkdir:建立数据夹
    • move:搬移或重新命名文件
    • renrename:重新命名文件
    • copy:拷贝文件
    • xcopy:拷贝文件或整个数据夹
    • del:移除文件
    • rdrmdir:移除数据夹

    cmd 环境内建的指令很少,读者可自行下载其他第三方工具以扩展 cmd 环境的功能,像是本系列文章先前提到的 GnuWin32UnxUtilsMSYS2 等。笔者不会很刻意去学 cmd 内建指令,而会优先使用等效的类 Unix 系统指令的移植品来替代。

    【赞助商连结】
    TAGS: CMD, DOS, WINDOWS