Windows 求生手冊:命令提示字元 (Command Prompt) 環境入門

PUBLISHED ON MAR 28, 2018 — OPERATING SYSTEM
FacebookTwitter LinkedIn LINE Skype EverNote GMail Email Email

    很多年輕的電腦學習者沒有經歷過 DOS 或 GNU/Linux 的洗禮,很少用到終端機環境。本文簡介 Command Prompt (cmd) 環境,給還不會用終端機的電腦學習者一個入門指引。

    現在的 Windows 系統預設使用圖形介面,只能透過終端機模擬器使用終端機環境。在 Windows 8 以前的 Windows 系統,透過左下角的 開始 (Start) ,選取 執行 (Run) 輸入 cmd 後,即可進入終端機環境。在 Windows 10 中,在左下角按右鍵,選 Command Prompt 即可。

    第一次開啟 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