CMD (BAT)命令速查手冊(電子書)

CMD (BAT)命令速查手冊(電子書)

CMD (BAT)命令速查手冊(電子書)


資料來源: https://www.csie.ntu.edu.tw/~r91112/myDownload/WEB/CMD.html


ASSOC 顯示或修改檔案附檔名關聯。

AT 排定電腦上要執行的命令和程式。
ATTRIB 顯示或變更檔案屬性。
BREAK 設定或清除擴充的 CTRL+C 檢查。
CACLS 顯示或修改檔案的存取控制清單 (ACLs)。
CALL 從另一個批次程式呼叫一個批次程式。
CD 顯示目前目錄的名稱或變更。
CHCP 顯示或設定作用中的字碼編號。
CHDIR 顯示目前目錄的名稱或變更。
CHKDSK 檢查磁碟並顯示狀態報告。
CHKNTFS 顯示或修改開機時的磁碟檢查。
CLS 清除螢幕。
CMD 開始新的 Windows 命令轉譯器。
COLOR 設定預設主控台的前景和背景色彩。
COMP 比較兩個或兩組檔案的內容。
COMPACT 顯示或變更 NTFS 磁碟分割上的檔案壓縮。
CONVERT 將 FAT 磁碟區轉換成 NTFS 格式。您不可轉換
目前的磁碟機。
COPY 將一個或數個檔案複製到另一個位置。
DATE 顯示或設定日期。
DEL 刪除檔案。
DIR 顯示目錄中的檔案和子目錄清單。
DISKCOMP 比較兩張磁片的內容。
DISKCOPY 將磁片上的內容複製到另一張磁片上。
DOSKEY 編輯命令列、恢復 Windows 命令和建立巨集。
ECHO 顯示訊息、開啟或關閉命令回音。
ENDLOCAL 結束批次檔環境變更的本土化工作。
ERASE 刪除一個或更多檔案。
EXIT 結束 CMD.EXE 程式 (命令轉譯器)。
FC 比較兩個或兩組檔案,然後顯示兩者之間的相異處。
FIND 在檔案中搜尋文字字串。
FINDSTR 在檔案中搜尋字串。
FOR 在一組檔案中的每個檔案執行一個特定的命令。
FORMAT 將磁碟格式化供 Windows 使用。
FTYPE 顯示或修改用於檔案附檔名關聯中的檔案類型。
GOTO 將 Windows 命令轉譯器指向批次程式中
已經加了標籤的列。
GRAFTABL 啟用 Windows 在圖形模式下顯示擴充的
字集。
HELP 為 Windows 命令提供說明資訊。
IF 在批次程式中執行有條件的處理程序。
LABEL 建立、變更或刪除磁碟的磁碟區標籤。
MD 建立目錄。
MKDIR 建立目錄。
MODE 設定系統裝置。
MORE 一次顯示一個螢幕的輸出。
MOVE 從一個目錄移動一個或數個檔案到另一個目錄。
PATH 顯示或設定執行檔的搜尋路徑。
PAUSE 暫停處理批次檔並顯示訊息。
POPD 還原 PUSHD 儲存的目錄之前的值。
PRINT 列印文字檔案。
PROMPT 變更 Windows 的命令提示。
PUSHD 儲存目前的目錄,然後變更它。
RD 移除目錄。
RECOVER 從損壞或不良的磁碟中修復可讀取的資訊。
REM 在批次檔或 CONFIG.SYS 鐘記錄意見 (註解)。
REN 重新命名檔案。
RENAME 重新命名檔案。
REPLACE 取代檔案。
RMDIR 移除目錄。
SET 顯示、設定或移除 Windows 環境變數。
SETLOCAL 開始批次檔中環境變更的本土化工作。
SHIFT 變更批次檔中可取代參數的位置。
SORT 將輸入排序。
START 開始另一個視窗來執行指定的程式或命令。
SUBST 將路徑與磁碟機代號相關聯。
TIME 顯示或設定系統時間。
TITLE 設定 CMD.EXE 工作階段的視窗標題。
TREE 以圖形顯示磁碟機或路徑的目錄結構。
TYPE 顯示文字檔的內容。
VER 顯示 Windows 版本。
VERIFY 告訴 Windows 是否要檢查您的檔案寫入磁片時正確與否。
VOL 顯示磁碟區標籤和序號。
XCOPY 複製檔案和樹狀目錄。


ASSOC
顯示或修改副檔名的關聯

ASSOC [.ext[=[fileType]]]

  .ext      指定副檔名,使檔案類型與
  fileType  產生關聯  指定檔案類型,以便和副檔名產生關聯。

鍵入 ASSOC 並且不加任何的參數,以顯示目前的檔案關聯性。如果
ASSOC 只呼叫一個副檔名,它將會顯示該副檔名目前的檔案關聯性。
如果不指定檔案類型,命令便會將副檔名的關聯性刪除。

AT
AT 命令排定某些命令或程式在某個特定的日期和時間,在電腦上執行。             
執行 AT 命令之前必須先啟動 Schedule 服務。                                  

                                                           
AT [\\\\computername] [ [id] [/DELETE] | /DELETE [/YES]]                    
AT [\\\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] \"command\"

\\\\computername     指定遠端電腦。                                            
                   如果省略這個參數,命令會被排定在本機上執行。             
id                 指定給排定時程命令的識別碼。                             
                                                                            
/delete            刪除某個已排程的命令。如果省略 id,所有電腦上已排程的
                   命令都會被刪除。
/yes               用於刪除所有已排程的工作,且不想在執行刪除時顯示確認訊息
                   使用。
time               指定命令執行的時間。
/interactive       允許\工作在執行時,與當時登入的用戶互動。
                   
/every:date[,...]  指定在每週或每月的某日 (或某幾日) 執行命令。
                   如果省略日期,則預設為在每月的本日執行。
                   
/next:date[,...]   指定在下一次的指定日期 (如,下週三) 時,執行命令。
                   如果省略日期,則預設為在每月的本日執行。
                   
\"command\"          準備執行的 Windows NT 命令或批次檔。


ATTRIB
顯示或變更檔案屬性。

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:][path][filename]
       [/S [/D]]

  +   設定屬性。
  -   清除屬性。
  R   唯讀檔案屬性。
  A   保存檔案屬性。
  S   系統檔案屬性。
  H   隱藏檔案屬性。[drive:][path][filename]
      指定一個或一個以上的檔案給 attrib 處理。
  /S  處理目前的資料夾及所有子資料夾中相
      符的檔案。
  /D  一併處理資料夾。


BREAK
設定或清除 DOS 系統的延伸 CTRL+C 檢查

這是為了與 DOS 系統的相容性而保留,在 Windows XP 裡沒有作用。

如果您啟用擴充命令,並在 Windows XP
平台執行時,那麼 BREAK 命令會在以偵錯程式偵錯時
輸入一個硬式編碼中斷點。

CACLS
顯示或修改檔案的存取控制清單 (ACLs) 

CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]

               [/P user:perm [...]] [/D user [...]]

   filename      顯示 ACL。

   /T            變更指定檔案的 ACL 於

                 現有的目錄或所有子目錄中。

   /E            編輯 ACL 而非將它取代。

   /C            拒絕存取的錯誤繼續發生。

   /G user:perm  授與指定的使用者存取權限。

                 Perm 的值可以是: R  讀取

                                  C  變更 (寫入)

                                  F  完全控制

   /R user	 撤銷已指定的使用者存取權限 (只有當 /E 存在時才有效)。

   /P user:perm  取代已指定的使用者存取權限。

                 Perm 的值可以是: N  沒有權限

                                  R  讀取

                                  C  變更 (寫入)

                                  F  完全控制

   /D user       拒絕已指定的使用者存取。

您可以在命令中使用萬用字元一次指定數個檔案。

您可以在命令中指定數個使用者。

縮寫:

   CI - 容器繼承。

        ACE 將被目錄繼承。

   OI - 物件繼承。

        ACE 將被檔案繼承。

   IO - 僅供繼承。

        ACE 不可套用到目前的檔案/目錄。


CALL
從批次程式中呼叫另一程式。

CALL [drive:][path]filename [batch-parameters]

  batch-parameters   指定批次程式所需要的命令列資訊。

如果您啟用擴充命令,CALL 命令的變更如下:

CALL 命令現在可以用標籤來當作 CALL 命令的目標。語法為:

    CALL :label arguments

這會用指定的 arguments 來建立一個新的批次檔檔案內容,而且控制權
會被傳到指定的 label 後的敘述。您必須 \"exit\" 兩次,因為批次檔
的結尾會被執行兩次。第一次您讀入批次檔結尾時,控制權會回到 CALL
描述的下一個敘述。而第二次則會結束批次檔的執行。請鍵入 GOTO /?
來獲得 GOTO :EOF 擴充命令的描述。 這個命令可以讓您從批次檔中
\"return\" 。

此外,批次檔參數的參考 (%0, %1,
及其他) 已經做了如下的擴充:


    %* 在批次檔中,這代表所有的參數 (e.g. %1 %2 %3
        %4 %5 ...)

    批次參數的取代 (%n) 已經做了改進。  您現在可以
    選用下列的語法:

        %~1         - 展開 %1 且移除包圍的引號 (\")
        %~f1        - 展開 %1 為一個完全符合的路徑名稱
        %~d1        - 只展開 %1 為磁碟機代號
        %~p1        - 只展開 %1 為路徑
        %~n1        - 只展開 %1 為檔名
        %~x1        - 只展開 %1 為副檔名
        %~s1        - 展開的路徑只包含短檔名
        %~a1        - 展開 %1 為檔案的檔案屬性
        %~t1        - 展開 %1 為檔案的日期/時間
        %~z1        - 展開 %1 為檔案的長度
        %~$PATH:1   - 搜尋所有列在 PATH 環境變數內的目錄
                       且展開 %1 為
                       第一個找到的完全符合檔名。
                       如果沒有定義環境變數名稱
                       或是搜尋找不到檔案,
                       則這個修飾元會展開成
                       空字串。

    修正程式可合併使用,進而得到複合結果:

        %~dp1       - 只擴充 %1 到磁碟機代號和路徑
        %~nx1       - 只擴充 %1 到檔案名稱和副檔名
        %~dp$PATH:1 - 搜尋 %1 的 PATH 環境
                       變數中所列的目錄,並擴充至
                       磁碟機代號和第一個找到的路徑。
        %~ftza1     - 將 %1 擴充成 DIR ,和輸出行相同

    在上例中,%1 和 PATH 可被其他有效值取代。%~ 語法是
    以正確的引數數字作結尾。%~ 修正程式可能無法使用 %*

CD
顯示目前工作目錄的名稱或是變更目錄。

CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]

  ..   指定變更到上層目錄。

鍵入 CD drive: 即可顯示指定磁碟機的目前工作目錄。
僅鍵入 CD 而不加參數,即可顯示目前的磁碟機和目錄。

使用 /D 參數可以同時變更工作磁碟機及其工作目錄。

如果您啟用擴充命令,CHDIR 的變更如下:

目前的目錄字串會被轉換成與磁碟上名稱相同大小寫的字串。
所以如果磁碟上的目錄是 C:\\Temp 的話,CD C:\\TEMP 命令實
際上會轉換為 CD C:\\Temp。

CHDIR 命令不會將空格當成分隔字元,所以如果您要切換到含
有空格字元的目錄時,就算您不使用引號來括住目錄名稱,也
一樣可以用 CD 命令切換到該目錄。例如:

    cd \\winnt\\profiles\\username\\programs\\start menu

就相等於:

    cd \"\\winnt\\profiles\\username\\programs\\start menu\"

如果您停用擴充命令,就必須輸入前一種命令。

CHCP
顯示或設定使用中字碼頁編號。

CHCP [nnn]

  nnn   指定字碼頁編號。

不加參數鍵入 CHCP 顯示使用中字碼頁編號。

CHDIR
顯示目前工作目錄的名稱或是變更目錄。

CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]

  ..   指定變更到上層目錄。

鍵入 CD drive: 即可顯示指定磁碟機的目前工作目錄。
僅鍵入 CD 而不加參數,即可顯示目前的磁碟機和目錄。

使用 /D 參數可以同時變更工作磁碟機及其工作目錄。

如果您啟用擴充命令,CHDIR 的變更如下:

目前的目錄字串會被轉換成與磁碟上名稱相同大小寫的字串。
所以如果磁碟上的目錄是 C:\\Temp 的話,CD C:\\TEMP 命令實
際上會轉換為 CD C:\\Temp。

CHDIR 命令不會將空格當成分隔字元,所以如果您要切換到含
有空格字元的目錄時,就算您不使用引號來括住目錄名稱,也
一樣可以用 CD 命令切換到該目錄。例如:

    cd \\winnt\\profiles\\username\\programs\\start menu

就相等於:

    cd \"\\winnt\\profiles\\username\\programs\\start menu\"

如果您停用擴充命令,就必須輸入前一種命令。

CHKDSK
檢查磁碟並顯示狀態報告。


CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]]


  volume          指定磁碟機代號 (後接冒號),
                  掛接點或磁碟區名稱。
  filename        只能用在 FAT/FAT32: 指定要進行分散程度檢查的檔案。
  /F              修復磁片上的錯誤。
  /V              FAT/FAT32 模式: 顯示磁碟上每個檔案的完整路徑
                  及名稱。
                  NTFS 模式: 如果有清除的訊息,也一併顯示。
  /R              找出損壞的磁區並復原可讀取的資訊。
                  (包含 /F)。
  /L:size         只適用於 NTFS 模式: 將記錄檔大小變更為指定的 KB
                  數值。如果沒有指定記錄檔大小,就顯示目前的大小。
  /X              如果必須的話,強制先解下磁碟區。所有在
                  磁碟區上開啟的控制代碼都會失效 (包含 /F)。
  /I              只適用於 NTFS 模式: 不檢查索引項目。
  /C              只適用於 NTFS 模式: 跳過資料夾結構的循環檢查。


使用 /I 或 /C 參數跳過某些磁碟區檢查,可以在執行
Chkdsk 時減少檢查時間。

CHKNTFS
開機時顯示或修正磁碟檢查。

CHKNTFS volume [...]
CHKNTFS /D
CHKNTFS /T[:time]
CHKNTFS /X volume [...]
CHKNTFS /C volume [...]

  volume          指定磁碟機代號 (後接冒號),
                  掛接點或磁碟區名稱。
    /D            將電腦還原成預設行為。會在啟動時對全部的磁
                  碟機進行檢查,有問題的磁碟機會執行 chkdsk。                 
    /T:time       變更 AUTOCHK 倒數計時的時間成
                  指定的總計秒。如果時間沒有設定,
                  請顯示目前的設定。
    /X            在預設開機檢查中排除磁碟檢查。被排除的
                  磁碟機不會保留在命令呼叫之間。
    /C            進行開機時的磁碟檢查排程。如果
                  磁碟有問題,會執行 chkdsk。
    /E            啟用 NTFS 磁碟區自動升級。升級後必需
                  重新開機。(這會啟用所有的 NTFS 進階
                  支援功\能。)

如果沒有指定參數 , CHKNTFS 將顯示每台磁碟
有問題的位元狀態或是在下次重新開機時排程檢查。

CLS
清除螢幕。

CLS

CMD
啟動 Windows XP 命令直譯器新例項

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      執行字串中所描述的命令然後結束命令視窗
/K      執行 字串中所描述的命令然後保留命令視窗
/S      修改字串在 /C 或 /K (參看下方)
/Q      關閉 echo
/D      從登錄中停用 AutoRun 命令(參看下方)
/A      將內部命令輸出結果以 ANSI 格式導向 pipe 或檔案
/U      將內部命令輸出結果以 Unicode 格式導向 pipe 或檔案
/T:fg   設定幕前/幕後色彩 (參看 COLOR /?)
/E:ON   啟用命令延伸 (參看下方)
/E:OFF  停用命令延伸 (參看下方)
/F:ON   啟用檔案及目錄名稱完整字元(參看下方)
/F:OFF  停用檔案及目錄名稱完整字元(參看下方)
/V:ON   啟用延遲環境變數延伸,用 c 作為分隔字元。例如,
        /V:ON 可以讓 !var! 在執行時展開變數 var。文法
        var 則會在輸入時展開變數,這在 FOR 迴圈之中是
        完全不同的事。
/V:OFF  停用延遲環境變數展開

請注意用命令分隔字元 \'&&\' 隔開的多個命令如果被引號包含時則會被
當成字串來接受。此外,為了相容性的原因,/X 的作用與 /E:ON 相同;
/Y 與 /E:OFF 相同且 /R 與 /C 相同。其餘的參數則會被忽略。

如果指定了/C 或 /K,則在參數後的其餘命令列會被當成命令列來處理,
其中使用下面的邏輯來處理引號字元 (\") :

    1.  如果所有下列條件都符合,那麼命令列上的引號會被保留:

        - 沒有 /S 參數
        - 正好有兩個引號
        - 在兩個引號之間沒有下列特殊字元: &<>()@^|
        - 兩個引號之間有一些空格
        - 在兩個引號之間的字串是執行檔的檔案名稱。

    2.  否則,舊的行為是如果第一個字元是引號,會把前置字元
        去掉,並將命令列中第一個引號及最後一個引號之間的所有
        文字便成保留文字。

如果您在命令列中未指定 /D,當 CMD.EXE 起動後,
它會尋找下列 REG_SZ/REG_EXPAND_SZ的 登錄變數。如果
有一個存在或兩個都存在,命令會執行第一個變數。

HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CommandProcessor\\AutoRun

及/或

HKEY_CURRENT_USER\\Software\\Microsoft\\CommandProcessor\\AutoRun

將命令擴充功\能預設成啟用狀態。您可以在特定的
呼叫中,用 /E:OFF 參數來停用擴充功\能。
您可以啟用或停用一台電腦上或使用者登入工作階段中所有
CMD.EXE 呼叫的擴充功\能,如果您要這樣作,
請使用 REGEDT32.EXE 來設定以下的 REG_DWORD 值:

    HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Command Processor\\EnableExtensions

        及/或

    HKEY_CURRENT_USER\\Software\\Microsoft\\Command Processor\\EnableExtensions

到 0x1 或 0x0。使用者指定設定的執行優先順序高於電腦上
的設定。命令列參數的執行優先順序高於登錄中的設定值。


擴充命令包括下列命令的變更及(或)
新增:

    DEL or ERASE
    COLOR
    CD or CHDIR
    MD or MKDIR
    PROMPT
    PUSHD
    POPD
    SET
    SETLOCAL
    ENDLOCAL
    IF
    FOR
    CALL
    SHIFT
    GOTO
    START (也包括援用外部命令之變更)
    ASSOC
    FTYPE

請鍵入 HELP 命令名稱,以查閱\說明。

預設狀態下,不會啟用延遲環境變數擴充。您可以
使用 /V:ON 或 /V:OFF 參數在執行 CMD.EXE 時啟用
或停用完整檔案名稱。您也可以用 REGEDT32.EXE 來
修改以下 REG_DWORD 值,來啟用或停用整個電腦上或
使用者登入工作階段中所有 CMD.EXE 的檔案名稱完整功\能:

    HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Command Processor\\DelayedExpansion

        及/或

    HKEY_CURRENT_USER\\Software\\Microsoft\\Command Processor\\DelayedExpansion

其值可為 0x1 或 0x0。使用者指定設定的優先順序高於
電腦設定。命令列參數優先順序高於登錄設定值。

如果已啟用延遲環境變數擴充,驚嘆號字元會在執行時
被用來取代環境變數值。

預設無法啟用檔案和目錄名稱完成。  您可以為特定的 CMD.EXE 呼叫,以
 /F:ON 或 /F:OFF 開關啟用或停用檔案名稱完成。 您可以啟用或停用在同
一部電腦上所有 CMD.EXE 的呼叫完成及/或使用者登入工作階段。方法是使
用 REGEDT32.EXE 設定其一或兩者登錄中的 REG_DWORD 值:

    HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Command Processor\\CompletionChar
    HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Command Processor\\PathCompletionChar

        及/或

    HKEY_CURRENT_USER\\Software\\Microsoft\\Command Processor\\CompletionChar
    HKEY_CURRENT_USER\\Software\\Microsoft\\Command Processor\\PathCompletionChar

用於特定功\能的控制字元十六進位值 (例如 0x4 是 Ctrl-D ; 0x6 是
Ctrl-F)。使用者指定設定的執行優先順序高於電腦上的設定。命令列參數
的執行優先順序高於登錄中的設定值。

如果以 /F:ON 開關啟用完成,則用於目錄名稱完成的控制字元是 Ctrl-D
而用於檔案名稱完成的控制字元是 Ctrl-F。如果您要停用在登錄中的特定
完成字元,請使用空間值 (0x20),因為它不是正確的控制字元。

當您鍵入其中一個控制字元後,完成功\能會被啟動。如果路徑字串已存在,
而且所建立的路徑清單也符合的話,完成函數會讀取到指標所在左方為止
的路徑字串。然後它會顯示第一個符合的路徑。如果找不到符合的路徑,
它會發出嗶聲並保留顯示。如果您重覆按相同的控制字元,它將在符合的路
徑清單中循環執行。如果您同時按下 Shift 鍵與控制字元,可在清單中反
向移動。如果您進行編輯後再按控制字元的話,已儲存的符合路徑清單會被
丟棄,並建立新的清單。如果您在檔案及目錄完成功\能之間切換,會有同樣
的情況發生。這兩個控制字元不同之處是:檔案完成字元可同時對應檔案及
目錄名稱,而目錄完成字元只能對應目錄名稱。如果您將檔案完成功\能用在
內建目錄命令上 (CD,MD 或 RD) 也等於使用了目錄完成功\能。

如果您在路徑字串兩端加上引號,完成功\能鍵就可正確處理包含空格或其他
特殊字元的檔案名稱。還有,如果您備份後,又在命令列中呼叫完成功\能的
話,已呼叫過完成功\能的指標右方的文字會被丟棄。

要求加上引號的特殊字元有:
     
     &()[]{}^=;!\'+,`~

COLOR
設定預設主控台的前景及背景色彩。

COLOR [attr]

  attr        指定主控台輸出的色彩屬性。

色彩屬性由 TWO 十六進位數字所指定 -- 第一個對應於背景,第二個對應於
前景。每一數位可為以下其中一個值:

    0 = 黑色       8 = 灰色
    1 = 藍色       9 = 淡藍色
    2 = 綠色       A = 淡綠色
    3 = 藍綠色     B = 淡藍綠色
    4 = 紅色       C = 淡紅色
    5 = 紫色       D = 淡紫色
    6 = 黃色       E = 淡黃色
    7 = 白色       F = 亮白色

如果沒有指定引數,這個命令會還原成 CMD.EXE 啟動時的色彩。這個值可能
來自目前主控台視窗、/T 命令列參數或來自 DefaultColor 登錄值。

 COLOR 命令設定 ERRORLEVEL 為 1,如果您嘗試執行
 COLOR 命令,並指定相同的前景和背景色彩的話。

範例: \"COLOR fc\" 產生淡紅色於亮白色上

COMP
比較兩個檔案或兩組檔案的內容。

COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C] [/OFF[LINE]]

  data1     指定第一個或第一組要比較的檔案的位置與檔名。
  data2     指定第二個或第二組要比較的檔案的位置與檔名。
  /D        以十進位格式來顯示不同之處。
  /A        以 ASCII 字元來顯示不同之處。
  /L        顯示不同之處的行號。
  /N=number 只比較每個檔案中第一個指定的行號。
  /C        比較檔案時忽略 ASCII 字母的大小寫。
  /OFF[LINE] 不要略過有離線屬性設定的檔案。

要比較一組檔案,請在 data1 和 data2 參數中使用萬用字元。

COMPACT
顯示或改變 NTFS 磁碟分割上的檔案壓縮。

COMPACT [/C | /U] [/S[:dir]] [/A] [/I] [/F] [/Q] [filename [...]]

  /C        壓縮指定的檔案。將標示目錄使以後新增的檔案將被壓縮。
  /U        解壓縮指定的檔案。將標示目錄使以後新增的檔案將不被解壓縮。
  /S        對所給目錄及其所有子目錄下的檔案執行指定的作業,預設 \"dir\"
            為目前的目錄。
  /A        顯示有隱藏或系統屬性的檔案,這些檔案在預設中是被省略的。
  /I        即使發生錯誤,仍繼續執行指定的操作。依預設,遇到錯誤時,
            COMPACT 將停止。
  /F        強迫壓縮所

CONVERT
將 FAT 磁碟區轉換為 NTFS。

CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]

  volume      指定磁碟機代號 (後接冒號),
              掛接點或磁碟區名稱。
  /FS:NTFS    指定將磁碟區轉換成 NTFS。
  /V          指定在詳細訊息模式下執行轉換。
  /CvtArea:filename
              在根目錄中指定一個相連的檔案作為
              NTFS 系統檔案的置放點。
  /NoSecurity 指定已轉換的檔案和目錄的安全性
              設定值能讓每個人存取。
  /X          必要的話,強迫磁碟區先卸下。
              所有已開啟的磁碟區控制碼將失效。

COPY
將一些檔案複製到另一個位置。

COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]

   source        指定要複製的檔案。
    /A           指定一個 ASCII 文字檔案。
    /B           指定一個二位元檔案。
   destination   為新檔案指定目錄及(或) 檔案名稱。
    /V           確認新檔案是否正確寫入。
    /N           使用短檔名來複製非 8.3 名稱的檔案
                 (如果可用的話)。
    /Y           不顯示覆寫現存
                 目的檔案的確認提示。
    /-Y          顯示覆寫現存目的
                 檔案的確認提示。
    /Z           在可重新啟動模式中複製網路檔案。
  
參數  /Y 可以預先設定在 COPYCMD 環境變數中。
這可能會覆寫命令列中的 /-Y。預設值是
顯示覆寫確認提示,除非 COPY 命令是從
批次指令檔中執行。

如果要附加檔案,指定一個目的檔案,及數個
 來源檔案 (使用萬用字元或 file1+file2+file3 格式)。

DATE
顯示或設定日期。

DATE [/T | date]

只鍵入 DATE 而不加上參數,可以顯示目前設定的日期,並且提示您輸入新的日
期。按 ENTER 鍵即可保持原來日期。

如果您啟用擴充命令,DATE 命令會支援 /T 參數,這個參數
會讓命令只輸出目前的日期,而不提示您輸入新日期。

DEL
刪除一個或更多檔案。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

  names         指定一個或更多檔案或目錄清單。
                可以使用萬用字元來刪除多個檔案。 如果
                指定目錄,這個目錄內的所有檔案
                將被刪除。

  /P            刪除每個檔案前,先提示確認。
  /F            強制刪除唯讀檔案。
  /S            由所有子目錄刪除指定的檔案。
  /Q            安靜模式,不要問是否確定刪除全域萬用字元
  /A            根據屬性選取要刪除的檔案
  attributes    R  唯讀檔案            S  系統檔案
                H  隱藏檔案               A  準備保存的檔案
                -  首碼表示不是

如果您啟用擴充命令,DEL 和 ERASE 命令的變更如下:

/S 參數的顯示方式完全相反,它只會顯示已刪除的檔案,不會顯示它找不到的
檔案。

DIR
顯示檔案清單以列出目錄中的檔案及子目錄。

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

  [drive:][path][filename]
              指定要顯示的磁碟機、目錄或檔案。

  /A          依照指定的檔案屬性來顯示檔案。
  attributes   D  目錄                R  唯讀檔
               H  隱藏檔              A  保存檔
               S  系統檔案            -  無意義
  /B          使用單純格式 (沒有標頭資訊或摘要)。
  /C          顯示檔案大小千位數分隔符號。這是
              預設值。  使用 /-C 來停用分隔符號的顯示。
  /D          與寬的列表格式相同,但是依照欄來排序。
  /L          使用小寫顯示。
  /N          使用新的長列表格式,檔名會顯示在最右方。
  /O          依照指定的排序順序來列出檔案。
  sortorder    N  依名稱 (英文字母)   S  依大小 (最小的在前)
               E  依副檔名 (英文字母) D  依照日期與時間 (日期較早的在前)
               G  先列出子目錄        -  表示相反的順序
  /P          當資料填滿整個螢幕時暫停顯示。
  /Q          顯示檔案擁有者。
  /S          顯示指定目錄及所有子目錄中的檔案。
  /T          指定用來顯示或排序的時間欄位
  timefield   C  建立
              A  上次檔案存取時間
              W  上次寫入檔案時間
  /W          使用寬的列表格式。
  /X          顯示對非 8.3 格式的檔案產生的短檔名。
              這個格式和 /N 相同,但是短檔名會插入在
              長檔名之前。 如果沒有長檔名存在,該處會
              顯示空白。
  /4          顯示四位數的年份

參數可能會在 DIRCMD 環境變數預先設定。您可以在任何參數使用連字號字首(-)
來覆蓋\預先的設定--例如: /-W。

DISKCOMP
比較兩片磁片的內容。

DISKCOMP [磁碟機1: [磁碟機2:]]


DISKCOPY
把一片磁片的內容複製到另一片中。

DISKCOPY [磁碟機1: [磁碟機2:]] [/V]

  /V   驗證訊息是否已正確複製。

兩片磁片的類型必須相同。
您可以把磁碟機 1 和磁碟機 2 指定成相同的磁碟機。

DOSKEY
編輯命令列,重新呼叫 Windows XP 命令,及建立巨集。

DOSKEY [/REINSTALL] [/LISTSIZE=size] [/MACROS[:ALL | :exename]]
  [/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=exename] [/MACROFILE=filename]
  [macroname=[text]]

  /REINSTALL          安裝另一份 Doskey。
  /LISTSIZE=size      設定命令歷程緩衝區的大小。
  /MACROS             顯示所有的 Doskey 巨集。
  /MACROS:ALL         顯示所有執行檔中含有 Doskey 巨集
                      的 Doskey 巨集。
  /MACROS:exename     顯示指定的執行檔中的所有 Doskey 巨集。
  /HISTORY            顯示存在記憶體中的所有命令。
  /INSERT             指定您所鍵入的新文字插入在舊的文字中。
  /OVERSTRIKE         指定您所鍵入的新文字覆蓋\舊的文字。
  /EXENAME=exename    指定執行檔。
  /MACROFILE=filename 指定要安裝的巨集檔案。
  macroname           為您建立的巨集指定名稱。
  text                指定您要記錄的命令。

向上與向下鍵叫回以前的指令; ESC  清除命令列;
F7  顯示命令歷程;  ALT+F7 清除命令列歷程;  F8 尋找命令歷程;
F9  以號碼選擇命令; ALT+F10 清除巨集定義

以下是在 Doskey 巨集定義中的特殊碼:
$T     命令分隔字元。允許\在一個巨集中使用多個命令。
$1-$9  批次檔參數。相當於批次檔中的 %1 到 %9。
$*     這個符號代表在命令列中巨集名稱後的所有文字。

ECHO
顯示訊息,或切換命令回應的開啟狀態。

  ECHO [ON | OFF]
  ECHO [message]

僅鍵入 ECHO 而不加上參數,可以顯示目前的 ECHO 設定。

ENDLOCAL
中止在批次檔案中的環境變更。在 ENDLOCAL 之後所做的環境變更已經送出,
對批次檔來說它不在本機上。批次檔終止時,並未還原到上一個設定值。

ENDLOCAL

如果您啟用擴充功\能,ENDLOCAL 命令的變更如下:

如果對應的 SETLOCAL 藉由 ENABLEEXTENSIONS 或
DISABLEEXTENSIONS 選項啟用或停用擴充命令,則在
 ENDLOCAL 執行後,擴充命令的已啟用/已停用狀態
將會還原到符合 SETLOCAL
命令執行前的狀態。

ERASE
刪除一個或更多檔案。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

  names         指定一個或更多檔案或目錄清單。
                可以使用萬用字元來刪除多個檔案。 如果
                指定目錄,這個目錄內的所有檔案
                將被刪除。

  /P            刪除每個檔案前,先提示確認。
  /F            強制刪除唯讀檔案。
  /S            由所有子目錄刪除指定的檔案。
  /Q            安靜模式,不要問是否確定刪除全域萬用字元
  /A            根據屬性選取要刪除的檔案
  attributes    R  唯讀檔案            S  系統檔案
                H  隱藏檔案               A  準備保存的檔案
                -  首碼表示不是

如果您啟用擴充命令,DEL 和 ERASE 命令的變更如下:

/S 參數的顯示方式完全相反,它只會顯示已刪除的檔案,不會顯示它找不到的
檔案。

EXIT
結束 CMD.EXE 程式 (命令直譯器) 或目前的批次檔。

EXIT [/B] [exitCode]

  /B          指定這個參數來結束目前批次檔而不是 CMD.EXE。
              如果是由批次檔之外執行,CMD.EXE將會結束。

  exitCode    指定一個數字。如果指定 /B,則設定 ERRORLEVEL
              為這個數字。如果結束 CMD.EXE,設定程序結束碼
              為這個數字。

FC
比較兩個檔案或兩組檔案並且顯示其中的不同之處


FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1
          [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2

   /A     針對每組不同之處只要顯示其中的第一行和最後一行。
   /B     使用二進位的內容比較。
   /C     忽略字母的大小寫。
   /L     以 ASCII 文字檔案方式來比較檔案。
   /LBn   在指定的行數中設定容許\的最多連續的檔案
          不相符。
   /N     在 ASCII 方式的比較中顯示行數。
   /T     不要將定位字元展開為空格。
   /U     以 UNICODE 文字檔案方式來比較檔案。
   /W     將空白字元 (定位字元和空格) 壓縮後再進行比較。
   /nnnn  指定在一處不相同之後必須相同的連
          續行數。
  [drive1:][path1]filename1
             指定要比較的第一個檔案或第一組檔案。
  [drive2:][path2]filename2
             指定要比較的第二個檔案或第二組檔案。


FIND
搜尋檔案中的文字字串。

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] \"string\" [[drive:][path]filename[ ...]]

  /V        顯示所有不包含指定字串的行。
  /C        只顯示包含字串的行數。
  /N        顯示每一行及它的行號。
  /I        當搜尋字串時,忽略字元的大小寫。
  /OFF[LINE] 不要略過有離線屬性設定的檔案。
  \"string\"  指定要尋找的文字字串。
  [drive:][path]filename
            指定要尋找的檔案。

如果沒有指定路徑,FIND 會搜尋在提示字元中所輸入的文字
或者在其他的命令中搜尋。

FINDSTR
在檔案中搜尋字串。

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        字串 [[drive:][path]filename[ ...]]

  /B        如果是在行的開端,則符合類型。
  /E        如果是在行的尾端,則符合類型。
  /L        逐字使用搜尋字串。
  /R        使用搜尋字串為一般表示式。
  /S        在現存目錄及所有的子目錄中
            搜尋符合的檔案。
  /I        指定搜尋不區分大小寫。
  /X        列印完全符合的行數。
  /V        只列印不含相符字串的行數。
  /N        列印每一行符合的行數前的行編號。
  /M        只列印包含相符字串的檔案的檔案名稱。
  /O        列印每一個相符行之前的字元位移。
  /P        略過沒有可列印字元的檔案
  /OFF[LINE] 不要略過有離線屬性組的檔案。
  /A:attr    指定有兩個十六進位數字的色彩屬性。請參考 \"color /?\"
  /F:file    從指定的檔案 (/ 代表主控台) 讀取檔案清單。
    /C:string 使用特定的字串作為逐字搜尋的字串。
  /G:file   從指定的檔案取得搜尋字串(/ 代表主控台)。
  strings   要搜尋的文字。
  [drive:][path]filename
            指定要搜尋的一個或多個檔案。

除非引數的字首有 /C ,否則請以空格將多重搜尋
字串分開。例如,\'FINDSTR \"hello there\" x.y\' 將會在檔案 x.y 中搜尋 \"hello\",或
\"there\"。\'FINDSTR /C:\"hello there\" x.y\' 將會在檔案 x.y 中搜尋
\"hello there\"。

有關 FINDSTR 一般表示式的資訊,請參閱\連線
命令參照。

FOR
對一組檔案中的每個檔案執行指定的命令。

FOR %variable IN (set) DO 命令 [command-parameters]

  %variable 指定一個可以取代的參數。
  (set)      指定由一或多個檔案組成的檔案組。您可使用通配字元。
  command    指定命令來執行每一個檔案。
 command-parameters
             為所指定的命令指定變數或參數。

如果要在批次程式中使用 FOR 命令,請指定 %%variable,而不要指定
%variable。  變數名稱有大小寫的區分,所以 %i 不同於 %I。

如果您啟用擴充命令,則額外支援下列的 FOR 命令
格式:

FOR /D %variable IN (set) DO command  [command-parameters]

    如果 set 中包含萬用字元,則指定與目錄
    名稱相符,而不是與檔案名稱相符。

FOR /R [[drive:]path] %variable IN (set) DO command  [command-parameters]

    在樹狀目錄中切換 [drive:]路徑,並於樹狀目錄的每一個目錄下執行
    FOR 陳述式。如果未在 /R 之後指定目錄規格,則採用目前的目錄。
    如果 set 只是單一句點 (.) 字元,則它只會列舉樹狀目錄結構。

FOR /L %variable IN (start,step,end) DO command [command-parameters]

    set 是從開頭到結尾一次跳一步的連續數字。所以 (1,1,5) 會產生
    連續值 (1 2 3 4 5) 而 (5,-1,1) 會產生連續值 (5 4 3 2 1)

FOR /F [\"options\"] %variable IN (file-set) DO command [command-parameters]
FOR /F [\"options\"] %variable IN (\"string\") DO command [command-parameters]
FOR /F [\"options\"] %variable IN (\'command\') DO command [command-parameters]

    或,如果使用 usebackq 選項:

FOR /F [\"options\"] %variable IN (file-set) DO command [command-parameters]
FOR /F [\"options\"] %variable IN (\'string\') DO command [command-parameters]
FOR /F [\"options\"] %variable IN (`command`) DO command [command-parameters]

    filenameset 可以是一個以上的檔案名稱。每個檔案都已開啟,
    讀取及處理過,才繼續進行下個檔案名稱組。處理檔案讀取的一致
    性,將它分成獨立的文字行,然後將每一行分析成零或更多的字串。
    用已找到的字串值為變數值,來呼叫 For 迴圈的內容。預設狀態,
    /F 傳出每個檔案的每一行中,以空格分隔的第一個字串。空白行
    會被略過。您可以指定 \"options\" 參數來覆寫預設的分析行為。 
    這是有引號的字串,包含一個以上的關鍵字,來指定不同的分析
    選項。關鍵字是:

        eol=c           - 指定一個行尾註解字元
                          (只有一個)
        skip=n          - 指定在檔案開頭要掠過的
                          行數。
        delims=xxx      - 指定分隔符號的集合。  這會取代
                          預設的空白與定位字元的分隔符號集合。
        tokens=x,y,m-n  - 指定每一行的哪些文字串應該被
                          傳到 for 的內部以用來進行每一個重複操作。
                          這會導致額外的變數名稱被配置。
                          m-n 格式代表一個範圍,
                          指定了第 m 個到第 n 個字串項。
                          如果在 tokens= 字串的最後一個字元是
                          星號,則會配置一個額外的變數
                          來接收最後一個字串項被分析後
                          的其他文字。
        usebackq        - 指定新語義開始作用。
                          其中反括號的字串會被當作命令來執行,
                          而單引號字串是純文字字串。
                          此外還允許\使用雙引號來
                          引用在 filenameset 內
                          的檔名。

    以下是一個範例:

FOR /F \"eol=; tokens=2,3* delims=, \" %i in (myfile.txt) do @echo %i %j %k

    這會分析 myfile.txt 檔案中的每一行,它不會去管以分號開頭的行數
    ,直接將第 2 個及第 3 個語法從每一行傳到 for 主體,而其語法是
    用逗號和/或空格分開的。請注意,for 主體陳述式參照 %i 以取得第
    二個語法,參照 %j 以取得第三個語法,使用 %k 取得第三個語法之
    後的剩餘字串。因為檔案名稱含有空格,您必須用雙引號來括住檔案名
    稱。要這樣使用雙引號,您必須使用 usebackq 參數。否則雙引號會被
    解譯成用來定義一般文字。

    使用 %i 明白地在 for 陳述式中宣告,並透過 tokens= option 使用
    %j 作暗式性的宣告。您可以藉由 tokens= line 來指定最多 26 個語
    法,前提是它宣告的變數不能高於字母 \'z\' 或 \'Z\'。請記住,FOR 變
    數是單一字元的,同時在任一時間內,您不能同時使用超過 52 個 FOR
    變數。

    您也可以使用 FOR /F 命令在立即字串中分析邏輯,方法是將括弧之間的
    filenameset 變成一個引號字串。它會被視為從檔案輸入的單行,並加
    以分析。

    最後,您可以使用 FOR /F 命令來分析一個命令的輸出。方法是將括弧
    內的 filenameset 變成單引號字串。它將被視為一個命令列,這個命令
    行將會傳到子 CMD.EXE,而輸出將會被擷取到記憶體中,當成檔案來分
    析。所以下列的範例:

        FOR /F \"delims==\" %i IN (\'set\') DO @echo %i

    將列舉目前環境中的環境變數名稱。

此外,已經加強了 FOR 變數參考的取代功\能。
您現在可以選用下列的語法:

    %~I         - 展開 %I 且移除包圍的引號 (\")
    %~fI        - 展開 %I 為一個完全符合的路徑名稱
    %~dI        - 只展開 %I 為磁碟機代號
    %~pI        - 只展開 %I 為路徑
    %~nI        - 只展開 %I 為檔名
    %~xI        - 只展開 %I 為副檔名
    %~sI        - 展開的路徑只包含短檔名
    %~aI        - 展開 %I 為檔案的檔案屬性
    %~tI        - 展開 %I 為檔案的日期/時間
    %~zI        - 展開 %I 檔案的長度
    %~$PATH:I   - 搜尋所有列在 PATH 環境變數內的目錄
                   且展開 %I 為
                   第一個找到的完全符合檔名。
                   如果沒有定義環境變數名稱
                   或是搜尋找不到檔案,
                   則這個修飾元會展開為
                   空字串。

修飾元可以合併使用以獲得綜合的結果:

    %~dpI       - 只展開 %I 為磁碟機代號與路徑
    %~nxI       - 只展開 %I 為檔名與副檔名
    %~fsI       - 只展開 %I 為含短檔名的完全路徑
    %~dp$PATH:i - 為 %I 搜尋所有列在 PATH 環境變數內的目錄
                   且展開第一個找到的項目為磁碟機代號及
                   路徑。
    %~ftzaI     - 展開 %I 為像 DIR 一樣的輸出行

在上面的範例中 %I 和 PATH 能用其他的合法值取代。%~ 語法是由合法的
FOR 變數名稱來終止。如果選用像 %I 的大寫名稱可以增加可讀性而且避免
和修飾元的混淆,因為這些並不區分大小寫。

FORMAT
格式化磁片以供 Windows XP 使用。

FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X]
FORMAT volume [/V:label] [/Q] [/F:size]
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors]
FORMAT volume [/V:label] [/Q]
FORMAT volume [/Q]

  volume          指定磁碟機代號 (後接冒號),
                  掛接點或磁碟區名稱。
  /FS:filesystem  指定檔案系統的類型 
(FAT、FAT32、或 NTFS)。
  /V:label        指定磁碟區標籤。
  /Q              執行快速格式化。
  /C              只限 NTFS: 根據預設值,建立在新磁碟區上的檔案
會被壓縮。
  /X              視需要先將磁碟區解下。
                  所有在磁碟區上開啟的控制碼都不再是正確的。
  /A:size         覆寫預設的配置單位大小。建議在一般使用時,最
                  好使用預設值。
                  NTFS 支援 512、1024、2048、4096、8192、16K、32K 和 64K。
                  FAT 支援 512、1024、2048、4096、8192、16K、32K、64K、
                  (128K、256K 供磁區容量 > 512 位元組使用)。
                  FAT32 支援 512、1024、2048、4096、8192、16K、32K、64K,
                  (128K、256K 供磁區容量 > 512 位元組使用)。

                  請注意 FAT 及 FAT32 檔案系統強制限制
                  在磁碟區的叢集數目:

                  FAT: 叢集數目 <= 65526
                  FAT32: 65526 < 叢集數目 < 4177918

                  如果格式化發現使用指定的叢集大小無法符合
                  上面的要求,格式化將會自動停止
                  執行。

                  NTFS 壓縮不支援大於 4096 的配置
                  單位。

  /F:size         指定要格式化的軟碟大小 (1.44)
  /T:tracks       為磁片各面指定磁軌數量。
  /N:sectors      指定各條磁軌的磁碟區數量。

FTYPE
顯示或修改用在副檔名關聯的檔案型態

FTYPE [fileType[=[openCommandString]]]

  fileType  指定要顯示或修改的檔案型態
  openCommandString 指定這個型態的檔案應該用來啟動檔案
                    的開啟命令。

鍵入 FTYPE 而沒有參數時會顯示目前有定義開啟命令字串的檔案型態。
如果指定了一個檔案型態來執行 FTYPE,它會顯示那個檔案型態目前的開
啟命令字串。如果設定開啟命令字串為空字串,則 FTYPE 命令將會刪除
那個檔案型態的開啟命令字串。在開啟命令字串中,%0 或 %1 會被取代
為經由檔案關聯所啟動的檔案名稱。%* 代表所有參數而 %2 代表第一
個參數、%3 代表第二個,以此類推。%~n 代表在含第 n 個後的其餘所
有參數,其中 n 可以從 2 到 9。例如:

    ASSOC .pl=PerlScript
    FTYPE PerlScript=perl.exe %1 %*

可以讓您鍵入下列命令來執行 Perl 指令檔:

    script.pl 1 2 3

如果您不想鍵入副檔名,您可以做下列的指定:

    set PATHEXT=.pl;%PATHEXT%

而上面的指令檔可以這樣來執行:

    script 1 2 3

GOTO
將 cmd.exe 導向到批次程式裡標籤指定的位置。

GOTO label

  label   指定批次程式裡做為標籤名稱的文字字串。

標籤名稱必須單獨一行,並且以冒號開頭。

如果您啟用擴充命令,GOTO 命令的變更如下:

GOTO 命令接收到一個目標標籤: EOF,而此標籤會將控制
傳輸到目前批次指令檔的尾端。利用此簡單的方式,可不
必定義標籤便即離開批次指令檔。鍵入 CALL /? 以查看有關
CALL 擴充命令發揮此特性的描述。

GRAFTABL
在圖形模式中啟用 Windows 來顯示擴充字集。

GRAFTABL [xxx]
GRAFTABL /STATUS

   xxx      指定一個字碼頁編號。
   /STATUS  顯示目前選取的字碼頁給 GRAFTABL 使用。

HELP
提供 Windows XP 命令的說明資訊。

HELP [command]

    command - 顯示該命令的說明資訊。

IF
在批次檔中執行條件處理。

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

  NOT               表示 Windows XP 應該只有在條件為偽時
                    才執行命令。

  ERRORLEVEL number 當上一個執行的程式傳回的結束碼大於或
                    等於指定數字時,則條件為真。

  string1==string2  當指定的文字字串相符合時,則條件
                    為真。

  EXIST filename    如果指定的檔名存在時,則條件
                    為真。

  command           指定當條件為真時所要執行的命令。
                    命令之後可以接著 ELSE 命令。當指定條件為
                    偽時,緊接在 ELSE 命令之後的命令
                    將會被執行。

ELSE 子句必須出現在 IF 之後的同一行。
例如:

    IF EXIST filename. (
        del filename.
    ) ELSE (
        echo filename. missing.
    )

以下命令無法作用,因為 del 命令必須以換行字元來
結尾:

    IF EXIST filename. del filename. ELSE echo filename. missing

下面命令也無法作用,因為 ELSE 命令必須在與 IF 命令同一行
的結尾:

    IF EXIST filename. del filename.
    ELSE echo filename. missing

下面命令只有在寫成一行時才能作用:

    IF EXIST filename. (del filename.) ELSE echo filename. missing

如果您啟用擴充命令,IF 的變更如下:

    IF [/I] string1 compare-op string2 命令
    IF CMDEXTVERSION 數字命令
    IF DEFINED 變數命令

compare-op 可以是:

    EQU - 等於
    NEQ - 不等於
    LSS - 小於
    LEQ - 小於或等於
    GTR - 大於
    GEQ - 大於或等於

而如果指定 /I 參數,則執行區分大小寫的字串比對。此 /I 參數也可使用
string1==string2 格式於 IF 命令。這些比對是通用的,因為在比對中,如
果 string1 及 string2 兩者皆由十進位數字所構成,則字串將會轉換為數
字,並執行數字的比對。

CMDEXTVERSION 條件式的運作和 ERRORLEVEL 一樣,除非它和與擴充命令相
關的內部版本編號作比對。第一個版本為 1。若擴充命令大幅度地增強時就
再加 1。當擴充命令停用時,CMDEXTVERSION 條件式永遠不為真。

DEFINED 條件式的運作和 EXISTS 一樣,除非它帶有環境變數名稱,如果環
境變數已定義則傳回 true 值。

%ERRORLEVEL% 將擴充到代表目前 ERRORLEVEL 變數的一個字串,前提是已
經沒有名為 ERRORLEVEL 的環境變數,在這個情況下,您會得到它的值。使
用此值和上面的數字比對運算元,您可以作下列的選擇:

    goto answer %ERRORLEVEL%
    :answer0
    提示您鍵入 Y 加以確定
    :answer1
    提示您鍵入N 加以否定

您也可使用上面的數字比對:

    IF %ERRORLEVEL% LEQ 1 goto okay

%CMDCMDLINE% 將擴充到比 CMD.EXE 的任何處理程序更早傳給 CMD.EXE 的
原始命令列,前提是已經沒有名為 CMDCMDLINE 的環境變數,在這個情形下,
您會得到它的值。

%CMDEXTVERSION% 將擴充成一個表示目前 CMDEXTVERSION 值的字串,
表示沒有名為 CMDEXTVERSION 的環境變數。這種情況下您將會得到它的值。

LABEL
建立、變更或刪除磁碟的磁碟區標籤。

LABEL [drive:][label]
LABEL [/MP] [volume] [label]

  drive:          指定磁碟機代號。
  label           指定磁碟區標籤。
  /MP             指定磁碟區應被視為掛接點
                  或磁碟區名稱。
  volume          指定磁碟機代號 (後接冒號),
                  掛接點或磁碟區名稱。如果磁碟區名稱已經指定了,
                  /MP 旗幟就沒有必要了。

MD
建立目錄。

MKDIR [drive:]path
MD [drive:]path

如果您啟用擴充命令,MKDIR 的變更如下:

必要時,MKDIR 會在目錄中建立一個中間目錄。
例如,假設 \\a 不存在,則:

    mkdir \\a\\b\\c\\d

相同於:

    mkdir \\a
    chdir \\a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

如果擴充功\能停用的話,您必須鍵入前一種命令類型。

MKDIR
建立目錄。

MKDIR [drive:]path
MD [drive:]path

如果您啟用擴充命令,MKDIR 的變更如下:

必要時,MKDIR 會在目錄中建立一個中間目錄。
例如,假設 \\a 不存在,則:

    mkdir \\a\\b\\c\\d

相同於:

    mkdir \\a
    chdir \\a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

如果擴充功\能停用的話,您必須鍵入前一種命令類型。

MODE
設定系統裝置組態。

序列連接埠:        MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
                                [to=on|off] [xon=on|off] [odsr=on|off]
                                [octs=on|off] [dtr=on|off|hs]
                                [rts=on|off|hs|tg] [idsr=on|off]

裝置狀態:          MODE [device] [/STATUS]

重新導向的列印:    MODE LPTn[:]=COMm[:]

選擇字碼頁:       MODE CON[:] CP SELECT=yyy

字碼頁狀態:       MODE CON[:] CP [/STATUS]

顯示模式:          MODE CON[:] [COLS=c] [LINES=n]

鍵盤速度:          MODE CON[:] [RATE=r DELAY=d]

MORE
以一次一頁螢幕的方式來顯示輸出。

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

    [drive:][path]filename  指定要顯示的檔案。檔案會以一次
                            一頁螢幕的方式顯示。

    command-name            指定一個命令,而它的輸出將會以
                            一次一頁螢幕的方式顯示。

    /E      啟用擴充功\能。
    /C      在顯示一頁之前先清除螢幕。
    /P      展開 FormFeed 字元。
    /S      將數個空白行顯示為一行。
    /Tn     將定位字元展開為 n 個空白 (預設值為 8)

            MORE 環境變數中可以有命令
            選項

    +n      在第 n 行開始顯示第一個檔案。

    files   要顯示的檔案清單。在清單中的檔案
            用空格分開。

    如果您使用了擴充功\能,您可以在 -- 其他 --
    提示出現時,使用下列命令:

    P n     顯示下面 n 行
    S n     跳過下面 n 行
    F       顯示下一個檔案
    Q       結束
    =       顯示行號
    ?       顯示輔助說明行
     顯示下一頁
       顯示下一行

MOVE
移動或更改檔案及目錄的名稱。

移動一個或一個以上的檔案:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination

更改目錄名稱:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

  [drive:][path]filename1 指定您要移動的檔案的位置與名稱。
  destination             指定檔案的新位置。目的位置可以包
                          含磁碟機代號和冒號、目錄名稱、或
                          是這些的組合。如果您只移動一個檔
                          案,您也可以包含檔名。這樣做會在
                          移動的同時更改檔名。
  [drive:][path]dirname1  指定您要更改名稱的目錄。
  dirname2                指定目錄的新名稱。

  /Y                      不要提示您是否要覆蓋\一個現存的
                          目的檔案。
  /-Y                     提示您是否要覆蓋\一個現存的目的
                          檔案。

參數 /Y 可能會在 COPYCMD 環境變數中預先設定。您可以在命令列中
使用 /-Y 來覆蓋\預設值。預設值是除非 MOVE 命令是在批次檔中執行,
否則系統會提示您是否要覆寫現有檔案。

PATH
顯示或設定搜尋執行檔的路徑。

PATH [[drive:]path[;...][;%PATH%]
PATH ;

鍵入 PATH ; 即可清除所有搜尋路徑的設定,並將 cmd.exe 重導為只搜尋
目前的目錄。鍵入 PATH 且不指定任何參數,可顯示目前的搜尋路徑。
在設定的新路徑中加上 %PATH%,可以將舊路徑附加到新的設定。

PAUSE
暫停執行批次程式,並且顯示以下訊息:
    請按任意鍵繼續 . . . 

POPD
變更到用 PUSHD 命令儲存的目錄。

POPD


如果您啟用擴充命令,當您使用 POPD 命令將磁碟機從擴充的目錄堆疊
刪除時,POPD 命令會刪除由 PUSHD 所建立的暫時性磁碟機代號。

PRINT
列印文字檔。

PRINT [/D:device] [[drive:][path]filename[...]]

   /D:device   指定印表機週邊設備。


PROMPT
變更 cmd.exe 命令提示字元。

PROMPT [text]

  text    指定新的命令提示字元。

提示字元可以由一般字元及下列特定代碼組成:

  $A   & (Ampersand)
  $B   | (直線)
  $C   ( (左括弧)
  $D   目前的日期
  $E   跳出代碼 (ASCII 碼 27)
  $F   ) (右括弧)
  $G   > (大於符號)
  $H   後退 (清除前一個字元)
  $L   < (小於符號)
  $N   目前的磁碟機
  $P   目前的磁碟機及路徑
  $Q   = (等號)
  $S     (空格)
  $T   目前的時間
  $V   Windows XP 版本編號
  $_   換行
  $$   $ (貨幣符號)

如果您啟用擴充命令,PROMPT 命令會支援下列其他的格式字元:

  $+   零或多個加號 (+) 字元,視 PUSHD 目錄堆疊的深度
       而定,每推入一層就多一個字元。

  $M   顯示與目前的磁碟機代號或空字串相關聯的遠端名稱
       (如果目前的磁碟機不是網路磁碟機的話)。

PUSHD
儲存目前目錄以供 POPD 命令使用,然後切換到指定的目錄。
  
PUSHD [path | ..]

  path        指定要切換到的目錄。

如果您啟用擴充命令,PUSHD 命令會接受正常的磁碟機代號和路徑之外的網
路路徑。如果您指定了一個網路路徑,PUSHD 會建立一個代表該特定的網路
資源的暫時性磁碟機代號,然後以剛定義的磁碟機代號,變更目前的磁碟機
和目錄。暫時性磁碟機代號的配置是由 Z: 往下開始定義,方法是使用第一
個發現到未曾使用過的磁碟機代號。

RD
移除 (刪除) 一個目錄。

RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path

    /S      除了目錄本身之外,一併移除指定目錄裡的所有目錄和檔案。
            用於移除樹狀目錄結構。

    /Q      安靜模式,有 /S 時,刪除目錄樹結構不再要求確認

RECOVER
從損壞的磁碟中復原可讀取的資訊。

RECOVER [磁碟機:][路徑]檔案名稱
在使用 RECOVER 命令以前,
先查閱\ Windows XP 說明內的連線命令參考。

REM
在批次檔或 CONFIG.SYS 裡加上備註或說明。

REM [comment]

REN
更改檔案名稱。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

請注意您不能為目的檔案指定新的磁碟機或路徑。

RENAME
更改檔案名稱。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

請注意您不能為目的檔案指定新的磁碟機或路徑。

REPLACE
取代檔案。

REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]

  [drive1:][path1]filename 指定來源檔案。
  [drive2:][path2]         指定要取代的檔案的
                           目錄。
  /A                       將新檔案加到目地目錄。不能和
                           /S 或 /U 參數同時使用。
  /P                       當取代檔案或新增來源檔案時顯示確
                           認的提示。
  /R                       取代唯讀與未受保護的檔
                           案。
  /S                       取代在目的目錄中所有子目錄
                           的檔案。不能和 /A 參數同時
                           使用。
  /W                       在開始前等待您放入磁片。
  /U                       只取代 (更新) 比來源檔案早
                           的檔案。不能和 /A 參數同時使用。

RMDIR
移除 (刪除) 一個目錄。

RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path

    /S      除了目錄本身之外,一併移除指定目錄裡的所有目錄和檔案。
            用於移除樹狀目錄結構。

    /Q      安靜模式,有 /S 時,刪除目錄樹結構不再要求確認

SET
顯示、設定或移除 cmd.exe 環境變數。

SET [variable=[string]]

  variable  指定環境變數名稱。
  string    指定設定給變數的一系列字元。

僅鍵入 SET 而不加上任何參數,可以顯示目前的環境變數。

如果您啟用了擴充命令,SET 命令有以下的改變:

如果執行 SET 命令而且只包含變數名稱,沒有等號或數值的話,
命令會顯示出所有字首符合 SET 命令中指定變數名稱的所有變數
值。例如:

    SET P

會列出所有以 \'P\' 為開頭的環境變數。

如果在目前的環境中找不到變數名稱,SET 命令會將 ERRORLEVEL
設為 1。

SET 命令不將等號 (=) 視為變數名稱的一部份。

有兩個新參數已經加到 SET 命令中:

    SET /A expression
    SET /P variable=[promptString]

/A 指定在等號右方的字串是一個要被運算的數字運算式。您可以用運
算式進行簡單的運算,而且支援下列的運算子 (依照運算優先順序由高
到低排列):

    ()                  - 組成一群
    ! ~ -               - 一元運算符
    * / %              - 數字運算元
    + -                 - 數字運算元
    << >>               - 邏輯位移
    &                   - 位元運算 and
    ^                   - 位元運算 exclusive or
    |                   - 位元運算 or
    = *= /= %= += -=   - 指定
    &= ^= |= <<= >>=
    ,                   - 運算式分隔字元

如果您使用了任何邏輯或餘數運算子,您必須將運算式兩邊括上引號。
任何在運算式中非數字的字串會被當作環境變數,並且在使用前會先將
這些環境變數轉換為數字。如果您所指定的環境變數名稱尚未在目前環
境中定義,那麼它的值會被設為 0。這可以讓您用環境變數值來做運算
,而不必打入所有的 % 符號來取得它的值。如果 SET /A 是用指令檔
之外的命令列執行,它會顯示運算式最後的數值。指定運算子需要有個
環境變數在等號的左方。0x 字首在數字前方代表十六進位數字、0b 字
首代表二進位數字或 0 字首代表八進位數字,否則數字值都是指十進位
數字。所以 0x12 就和 18、022 等相同。請注意八進位數字可能容易
弄錯: 像 08 和 09 就不是正確的數字,因為 8 和 9 並不是八進位的
正確數字。

/P 參數讓您設定命令列的使用者輸入變數值。在讀取輸入命令列之前,
顯示指定的 promptString。promptString 可以是空白。

環境變數取代功\能已經有下列增強:

    %PATH:str1=str2%

會將 PATH 環境變數展開,取代每個發現的 \"str1\" 與 \"str2\"的擴充結果。
\"str2\" 可以是空白字串,這會從擴充輸出中刪除全部 \"str1\"。\"str1\" 可以
用星號開始,這將會從擴充輸出的開頭開始,對應到從所有第一個發現含有
str1 的項目。

您也可以為擴充功\能指定子字串。

    %PATH:~10,5%

這將會擴充 PATH 環境變數,然後只使用擴充結果的第 11 個(位移 10)字元
後的 5 個字元如果長度未指定,將會預設為上次使用的變數值。如果數字(位
移或長度)是負數,使用的數字將會是環境變數的長度加上位移或指定長度。

    %PATH:~-10%

將抽出 PATH 變數的最後 10 個字元。

    %PATH:~0,-2%

將抽出 PATH 變數的最後 2 個字元。

最後,系統加入了延遲環境變數展開的支援。在預設狀態下,命令展開會啟
用這項支援,但是您可以在 CMD.EXE 用 /V 命令列參數來啟用/停用這個功\
能。 請參看 CMD /?

延遲環境變數展開功\能可用來避開展開功\能限制。這項限制是發生在命令列
讀取過程,不是發生在執行過程。下面的範例說明了立即展開變數時會發生
的問題:

    set VAR=before
    if \"%VAR%\" == \"before\" (
        set VAR=after;
        if \"%VAR%\" == \"after\" @echo If you see this, it worked
    )

這個例子永遠無法顯示 echo 訊息,因為在兩個 IF 敘述中的 %VAR% 會
在第一個 IF 敘述被讀入時便被展開。這是因為它是邏輯上包含了 IF 的內
部,而內部又是一個複合敘述。  所以在複合敘述內的 IF 實際上是用
\"before\" 和 \"after\" 來比較,而這永遠不會為真。同樣的,下面的例子也
不會作用:

    set LIST=
    for %i in (*) do set LIST=%LIST% %i
    echo %LIST%

這個例子中並不會建立目前目錄中所有檔案的清單,相反的只會將 LIST 變
數設為最後一個找到的檔案。同樣地,這是因為 %LIST% 只有在 FOR 敘述
第一次被讀入時才展開,此時 LIST 變數是空的。所以我們實際執行的 FOR
迴圈是:

    for %i in (*) do set LIST= %i

這只是重複的將 LIST 設為最後找到的檔案。

延遲環境變數展開讓您可以用一個不同的字元 (驚嘆號) 在執行時展開
環境變數。如果啟用了延遲環境變數展開,上面的例子可以被改寫如下
而正常作用:

    set VAR=before
    if \"%VAR%\" == \"before\" (
        set VAR=after
        if \"!VAR!\" == \"after\" @echo If you see this, it worked
    )

    set LIST=
    for %i in (*) do set LIST=!LIST! %i
    echo %LIST%

如果您啟用了命令擴充,有幾個動態環境變數會被展開但是不會出現在 SET 
所顯示的環境變數列表中。這些變數的值會每次在這些變數被展開時動態地
重新計算如果使用者用這些變數的名稱來定義變數時,則這個新定義會覆蓋\
以下所列的動態變數:

%CD% - 展開為含目前目錄的字串。

%DATE% - 展開為與 DATE 命令格式相同的目前日期字串。

%TIME% - 展開為與 TIME 命令格式相同的目前時間字串。

%RANDOM% - 展開為一個在 0 和 32767 之間的整數亂數值。

%ERRORLEVEL% - 展開為目前的 ERRORLEVEL 值

%CMDEXTVERSION% - 展開為目前的命令處理擴充功\能的版本號碼。

%CMDCMDLINE% - 展開為執行命令處理器前的原始命令列。

SETLOCAL
在批次檔中屬於中文版環境的開頭已變更。在 SETLOCAL 之後所做的環境變更
已經送出,ENDLOCAL 必須送出,才能還原到上次的設定值。在到達批次指令的
結尾時,批次指令對每個未處理完成的  SETLOCAL 指令都會發出 ENDLOCAL 
的執行指令

SETLOCAL

如果您啟用命令擴充,SETLOCAL 的變更如下:

SETLOCAL 批次命令現在可接受一個選項引數,這個引數可為:
        ENABLEEXTENSIONS / DISABLEEXTENSIONS
            啟用或停用命令處理擴充功\能。
            請用 CMD /? 來查看說明。
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
           啟用或停用延遲環境變數擴充功\能。
           請用 SET /? 來查看說明。
這些修正命令作用會持續到對應 ENDLOCAL 命令為止,而不管
它們的設定是否在 SETLOCAL 命令之前。

SETLOCAL 命令將會設定 ERRORLEVEL 的數值,但必須給予一個
引數。兩個有效引數之中如果給了一個,而另一個未給時,它的
數值將變為零。您可以在批次指令檔中使用此命令以決定是否有
可使用的擴充功\能,請使用下列的
語法:

    VERIFY OTHER 2>nul
    SETLOCAL ENABLEEXTENSIONS
    IF ERRORLEVEL 1 回應無法啟用擴充功\能

這在舊版的 CMD.EXE 中可正常運作,因為 SETLOCAL 並不會設定
ERRORLEVEL 值。用了錯誤引數的 VERIFY 命令會將 ERRORLEVEL
值起始為一個非零的值。

SHIFT
變更批次檔中,可置換參數的位置。

SHIFT [/n]

如果您啟用 SHIFT 擴充命令,支援 /n 參數,它告訴 SHIFT 可以從第 n
個引數開始轉移。n 介於 0 和 8 之間。  例如:

    SHIFT /2

會將 %3 轉移到 %2,將 %4 轉移到 %3,以此類推。並且不會影響到
%0 及 %1 。

SORT
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]

  [[drive1:][path1]filename1] [/T [drive2:][path2]]

  [/O [drive3:][path3]filename3]

  /+n                         指定每次開始比較的起始字元

                              數目 n。  /+3 表示每次比較

                              都從每行的第 3 個字元開始。

                              少於三個字元的行數會先被核對。

                              預設情況下會從每行的第一個字

                              元開始比較。

  /L[OCALE] locale            用指定數值覆寫系統預設值。

                              \"\"C\"\" 地區設定會產生最快的

                              核對順序,而且是目前唯一的

                              其他選擇。排序都不會區分

                              英文大小寫。

  /M[EMORY] kilobytes         指定排序時主記憶體的使用量

                              記憶體大小,以 KB 為單位。

                              不可低於160 KB。如果已指定

                              記憶體大小,不論目前可用記

                              憶體有多少,排序時將會使用

                              您所指定的值。如果您不指定

                              記憶體的話,可以產生最佳效能。

                              預設狀況下如果符合預設記憶體

                              大小最大值的話,排序會一次

                              執行完成 (沒有暫存檔案),

                              否則排序會分兩次完成(部分排序

                              完成的資料會儲存在暫存檔案中)。

                              這樣排序和合併所使用的記憶體

                              容量相等。預設最大記憶體大小是

                              90% 的可用主記憶體大小(如果輸入

                              和出都是使用檔案的話),否則只會

                              設定 45% 的可用主記憶體大小。

  /REC[ORD_MAXIMUM]           字元指出一個記錄中字元的

                              最大數目 (預設值為 4096,最大值為 65535)。

  /R[EVERSE]                  反轉排序順序; 也就是,排序由 Z 到 A,然後

                              由 9 到 0。

  [drive1:][path1]filename1   指定要排序的檔案。如果未指定排序檔案,會將

                              標準輸入排序。指定輸入檔案比將相同的檔案重

                              新導向為標準輸入還要快。

  /T[EMPORARY]

    [drive2:][path2]          指定要保留排序的工作存放區的目錄路徑,萬一

                              資料不適合放在主要記憶體中的話可以使用。預

                              設值為使用系統暫存目錄。

  /O[UTPUT]

    [drive3:][path3]filename3 指定排序的輸入要被存放的檔案。如果未指定,

                              資料會被寫入標準輸出中。指定輸出檔案比將標

                              準輸出重新導向到相同的檔案還要快。



START
啟動獨立視窗來執行指定的程式或命令。

START [\"title\"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [command/program]
      [parameters]

    \"title\"     顯示在視窗標題列上的文字
    path        起始目錄
    B           啟動應用程式但不建立新視窗。含有 ^C 控制碼的應用程式會
                被略過,除非應用程式啟用 ^C 程序,否則 ^Break 是唯一可
                以中斷應用程式的方法
    I           新環境會使用 cmd.exe 的原始環境,而不是目前的環境。
    MIN         視窗最小化
    MAX         視窗最大化
    SEPARATE    用不同的記憶體空間啟動 16 位元視窗程式
    SHARED      用共用的記憶體空間啟動 16 位元視窗程式
    LOW         在 IDLE 主要類別中啟動應用程式
    NORMAL      在 NORMAL 主要類別中啟動應用程式
    HIGH        在 HIGH 主要類別中啟動應用程式
    REALTIME    在 REALTIME 主要類別中啟動應用程式
    ABOVENORMAL 在 ABOVENORMAL 主要類別中啟動應用程式
    BELOWNORMAL 在 BELOWNORMAL 主要類別中啟動應用程式
    WAIT        啟動應用程式並等待其結束
    command/program
                如果這是內部 cmd 命令或批次檔的話,命令處理器會用 /K
                參數執行 cmd.exe。這表示視窗會保持到命令執行完成。

                如果這不是內部 cmd 命令或批次檔的話,它就是一個程式,
                它會以視窗程式或主控台 (DOS) 應用程式的執行方式執行。

    parameters  這些是傳給 command/program 的參數。


如果您啟用擴充命令,經由命令列或 START 命令的外部命令執行有以下改變:

可以經由打入檔案名稱的命令來利用檔名連結以啟動非執行檔。(例如 WORD.DOC
    會執行和 .DOC 副檔名連結的程式)。請參看 ASSOC 及 FTYPE 命令來了解
    如何在指令檔案中建立這些檔案連結。

當執行 32 位元的圖形介面應用程式時,CMD.EXE 並不會等應用程式停止才回到
    命令提示。但是如果從指令檔中執行時,則不會有這樣的行為。

當執行一個命令列時,其中第一個字串項是字串 \"CMD \" 且沒有副檔名或路徑指
    示,則 \"CMD\" 會被 COMSPEC 環境變數的值所取代。這會避免由目前目錄中
    選擇 CMD.EXE

當執行一個命令列時,其中第一個字串項不包含副檔名時,則 CMD.EXE 使用
    PATHEXT 環境變數的值來決定尋找哪個副檔名及用什麼順序來尋找。PATHEXT
    變數的預設值為:

        .COM;.EXE;.BAT;.CMD

    請注意這個語法和 PATH 變數相同,且用分號來隔開不同的項目。

當尋找執行檔時,若是任何副檔名都不符合,則會試著尋找是否有符合的目錄名稱。
如果有的話,START 命令會在那個路徑執行檔案管理員。若是從命令列執行,這就相
當於執行 CD /D 到那個路徑。

SUBST
建立路徑與磁碟機代號之間的關連。

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        指定您要指定路徑的虛擬磁碟機。
  [drive2:]path  指定您要指定給虛擬磁碟機的實際磁碟
                 機與路徑。
  /D             刪除取代的 (虛擬的) 磁碟機。

鍵入 SUBST 而不加任何參數會顯示目前所有虛擬磁碟機的清單。

TIME
顯示或設定系統時間。

TIME [/T | time]

僅鍵入 TIME 而不加上參數,可以顯示目前設定的時間,並且提示您輸入新的時
間。按 ENTER 鍵即可保持原來時間。

如果您啟用擴充命令,TIME 命令將會支援/T 參數,這個參數
會讓命令只輸出目前的時間,而不提示您輸入新時間。

TITLE
設定命令提示字元的視窗標題。

TITLE [字串]

  字串       指定命令題示字元視窗的標題。

TREE
以圖形顯示磁碟機或路徑的資料夾架構。

TREE [drive:][path] [/F] [/A]

   /F   顯示各資料夾中檔案的名稱。
   /A   使用 ASCII 取代延伸字元。


TYPE
顯示文字檔案的內容。

TYPE [drive:][path]filename

VER
顯示 Windows XP 版本。

VER

VERIFY
告訴 cmd.exe 是否要驗證檔案有沒有正確地寫入磁碟中。
  
VERIFY [ON | OFF]

僅鍵入 VERIFY 而不加上參數,可以顯示目前的 VERIFY 設定。

VOL
顯示磁碟區標籤和序號 (若有的話)。

VOL [drive:]

XCOPY
複製檔案和樹狀目錄。

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]\\r\\r
                           [/EXCLUDE:file1[+file2][+file3]...]

  source       指定要複製的檔案。
  destination  指定位置或者/以及新檔案的名稱。
  /A           只複製設定成保存屬性的檔案,不要改變屬性的設定。
  /M           只複製設定成保存屬性的檔案,並清除保存屬性。
  /D:m-d-y     複製在指定日期當天或之後發生變更的檔案。如果沒有給日期,
               只複製那些來源檔案日期比目的檔案日期為新的檔案。
  /EXCLUDE:file1[+file2][+file3]...
               指定檔案清單字串。每個字串
               應該在檔案中的不同行。如果有字串對應到要進行複製的檔案絕
               對路徑的任何部分,這個檔案會被排除複製。例如,指定字串
               \\obj\\ 或 .obj 的話,會排除所有在 obj 目錄下副檔名是
               .obj 的檔案複製。
  /P           在建立每個目的檔案時顯示提示。
  /S           複製每個目錄及其包含的子目錄,不複製空目錄。
  /E           複製每個目錄及其包含的子目錄,也複製空目錄。/S 與 /E
               相同,能夠用來修改 /T。
  /V           驗證每個新檔案。
  /W           在複製之前提示您按鍵繼續。
  /C           如果錯誤發生時也繼續複製。
  /I           如果目的不存在且複製一個以上的檔案的話,就假設指定的
               目的一定是目錄。
  /Q           在複製時不要顯示檔名。
  /F           在複製時顯示來源及目的檔案的全部檔名。
  /L           顯示要複製的檔案。
  /G           允許\加密檔案複製到不支援加密的
               目的地。
  /H           時複製隱藏檔和系統檔。
  /R           覆蓋\唯讀檔案。
  /T           建立目錄結構,但不複製其中的檔案。不包括空目錄及子目錄。
               /T /E 會包括空目錄及子目錄。
  /U           只複製已經存在目的位置的檔案。
  /K           複製檔案屬性。通常 Xcopy 會重設唯讀的屬性。
  /N           用所產生的短檔名來進行複製。
  /O           複製檔案所有權及 ACL 資訊。
  /X           複製檔案審查設定 (包含 /O)。
  /Y           不要提示您確認是否要覆蓋\一個已經存在的檔案。
  /-Y          示您確認是否要覆蓋\一個已經存在的檔案。
  /Z           在可重新開始的模式中複製網路檔案。

參數 /Y 可以在 COPYCMD 環境變數中預先設定。但可以在命令列中用 /-Y 參數
來覆蓋\原有設定。 


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *