CMD 命令速查手冊

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 命令,計畫服務必須已在運行中。

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]
指定要處理的檔屬性。
/S 處理當前文件夾及其子文件夾中的匹配文件。
/D 也處理文件夾。

返回頁首
BREAK

設置或清除 DOS 系統的擴展 CTRL+C 檢測

這個命令是為了與 DOS 系統的相容而保留的,在 Windows XP
裏不起作用。

如果命令副檔名被啟用,並且操作平臺是 Windows XP,
BREAK 命令會在被調試程式調試時輸入一個硬代碼中中斷點。

返回頁首
CACLS

顯示或者修改檔的訪問控制表(ACL)

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 讀取

W 寫入

C 更改(寫入)

F 完全控制

/R user 撤銷指定用戶的訪問許可權(僅在與 /E 一起使用時合法)。

/P user:perm 替換指定用戶的訪問許可權。

Perm 可以是: N 無

R 讀取

W 寫入

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

一個新的批文件上下文由指定的參數所創建,控制在標籤被指定
後傳遞到語句。您必須通過達到批腳本檔末兩次來 “exit” 兩次。
第一次讀到文件末時,控制會回到 CALL 語句的緊後面。第二次
會退出批腳本。鍵入 GOTO /?,參看 GOTO : EOF 副檔名的描述,
此描述允許您從一個批腳本返回。

另外,批腳本文本參數參照(%0、%1、等等)已如下改變:

批腳本裏的 %* 指出所有的參數(如 %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 – 在列在 PATH 環境變數中的目錄裏查找 %1,
並擴展到找到的第一個檔的驅動器號和路徑。
%~ftza1 – 將 %1 擴展到類似 DIR 的輸出行。

在上面的例子中,%1 和 PATH 可以被其他有效數值替換。
%~ 語法被一個有效參數號碼終止。%~ 修定符不能跟 %*
使用

返回頁首
CD

顯示當前目錄名或改變當前目錄。

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

.. 指定要改成父目錄。

鍵入 CD 驅動器: 顯示指定驅動器中的當前目錄。
不帶參數只鍵入 CD,則顯示當前驅動器和目錄。

使用 /D 命令行開關,除了改變驅動器的當前目錄之外,
還可改變當前驅動器。

如果擴展命令名被啟用,CHDIR 會如下改變:

當前的目錄字串會被轉換成使用磁片名上的大小寫。所以,
如果磁片上的大小寫如此,CD C : TEMP 會將當前目錄設為
C:Temp。

CHDIR 命令不把空格當作分隔符號,因此有可能將目錄名改為一個
帶有空格但不帶有引號的子目錄名。例如:

cd winntprofilesusernameprogramsstart menu

與下列相同:

cd “winntprofilesusernameprogramsstart menu”

在擴展功能停用的情況下,您必須鍵入以上命令。

返回頁首
CHCP

顯示或設置活動內碼表編號。

CHCP [nnn]

nnn 指定內碼表編號。

不加參數鍵入 CHCP 顯示活動內碼表編號。

返回頁首
CHDIR

顯示當前目錄名或改變當前目錄。

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

.. 指定要改成父目錄。

鍵入 CD 驅動器: 顯示指定驅動器中的當前目錄。
不帶參數只鍵入 CD,則顯示當前驅動器和目錄。

使用 /D 命令行開關,除了改變驅動器的當前目錄之外,
還可改變當前驅動器。

如果擴展命令名被啟用,CHDIR 會如下改變:

當前的目錄字串會被轉換成使用磁片名上的大小寫。所以,
如果磁片上的大小寫如此,CD C : TEMP 會將當前目錄設為
C:Temp。

CHDIR 命令不把空格當作分隔符號,因此有可能將目錄名改為一個
帶有空格但不帶有引號的子目錄名。例如:

cd winntprofilesusernameprogramsstart menu

與下列相同:

cd “winntprofilesusernameprogramsstart 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]rnCHKNTFS /X volume […]
CHKNTFS /C volume […]

volume: 指定驅動器(後面跟一個冒號)、裝入點
或卷名。
/D 將電腦恢復成默認狀態, 啟動時檢查所有驅動器,
並對有問題的驅動器執行 chkdsk 命令。
/T:time 將 AUTOCHK 初始遞減計數時間改成指定的
時間量,單位為秒數。如果沒有指定
時間,則顯示當前設置。
/X 排除啟動時不作檢查的驅動器。上次執行此命令
排除的驅動器此時無效。
/C 安排啟動時檢查驅動器,如果驅動器有問題,運行 chkdsk。

如果沒有指定命令行開關,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 關閉回應
/D 從註冊表中停用執行 AutoRun 命令(見下)
/A 使向內部管道或文件命令的輸出成為 ANSI
/U 使向內部管道或文件命令的輸出成為 Unicode
/T:fg 設置前景/背景顏色(詳細資訊,請見 COLOR /?)
/E:ON 啟用命令擴展(見下)
/E:OFF 停用命令擴展(見下)
/F:ON 啟用檔和目錄名稱完成字元 (見下)
/F:OFF 停用檔和目錄名稱完成字元(見下)
/V:ON 將 ! 作為定界符啟動延緩環境變數擴展。如: /V:ON 會
允許 !var! 在執行時允許 !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
SoftwareMicrosoftCommand ProcessorAutoRun

和/或

HKEY_CURRENT_USER
SoftwareMicrosoftCommand ProcessorAutoRun

命令擴展是按預設值啟用的。您也可以使用 /E:OFF,為某一
特定調用而停用擴展。您可以在機器上和/或用戶登錄會話上
啟用或停用 CMD.EXE 所有調用的擴展,這要通過設置使用
REGEDT32.EXE 的註冊表中的一個或兩個 REG_DWORD 值:

HKEY_LOCAL_MACHINE
SoftwareMicrosoftCommand ProcessorEnableExtensions

和/或

HKEY_CURRENT_USER
SoftwareMicrosoftCommand ProcessorEnableExtensions

到 0x1 或 0x0。用戶特定設置比機器設置有優先權。命令行
開關比註冊表設置有優先權。

命令行擴展包括對下列命令所做的更改和/或添加:

DEL 或 ERASE
COLOR
CD 或 CHDIR
MD 或 MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (同時包括對外部命令調用所做的更改)
ASSOC
FTYPE

有關詳細資訊,請鍵入 HELP 命令名。

延遲變數環境擴展不按預設值啟用。您可以用/V:ON 或 /V:OFF
命令行開關,為 CMD.EXE 的某個調用而啟用或停用延遲環境變數擴充。
您可以在機器上和/或用戶登錄會話上啟用或停用 CMD.EXE 所有
調用的完成,這要通過設置使用 REGEDT32.EXE 的註冊表中的
一個或兩個 REG_DWORD 值:

HKEY_LOCAL_MACHINE
SoftwareMicrosoftCommand ProcessorDelayedExpansion

和/或

HKEY_CURRENT_USER
SoftwareMicrosoftCommand ProcessorDelayedExpansion

到 0x1 或 0x0。用戶特定設置比機器設置有優先權。命令行開關
比註冊表設置有優先權。

如果延遲環境變數擴充被啟用,驚嘆號字元可在執行時間,被用來
代替一個環境變數的數值。

檔和目錄名完成不按預設值啟用。您可以用 /F:ON 或 /F:OFF
命令行開關,為 CMD.EXE 的某個調用而啟用或停用檔案名完成。 您可以
在機器上和/或用戶登錄會話上啟用或停用 CMD.EXE 所有調用的
完成,這要通過設置使用 REGEDT32.EXE 的註冊表中的一個或兩個
REG_DWORD 值:

HKEY_LOCAL_MACHINE
SoftwareMicrosoftCommand ProcessorCompletionChar
HKEY_LOCAL_MACHINE
SoftwareMicrosoftCommand ProcessorPathCompletionChar

和/或

HKEY_CURRENT_USER
SoftwareMicrosoftCommand ProcessorCompletionChar
HKEY_CURRENT_USER
SoftwareMicrosoftCommand ProcessorPathCompletionChar

由一個控制字元的十六進位值作為一個特定參數(例如,0x4 是
Ctrl-D,0x6 是 Ctrl-F)。 用戶特定設置優先於機器設置。命令行開關
優先於註冊表設置。

如果完成是用 /F:ON 命令行開關啟用的,兩個要使用的控制符是: 目錄名
字完成用 Ctrl-D, 檔案名完成用 Ctrl-F。 要停用註冊表中的某個
字元,請用空格(0x20)的數值,因為此字元不是控制字元。

如果鍵入兩個控制字元中的一個,完成會被調用。完成功能將
路徑字串帶到游標的左邊,如果沒有通配符,將通配符附加
到左邊,並建立相符的路徑列表。然後,顯示第一個相符的路
徑。如果沒有相符的路徑,則發出嘟嘟聲,不影響顯示。之後,
重複按同一個控制字元會迴圈顯示相符路徑的列表。將 Shift 鍵
跟控制字元同時按下,會倒著顯示列表。如果對該行進行了任
何編輯,並再次按下控制字元,保存的相符路徑的列表會被丟棄,
新的會被生成。如果在檔和目錄名完成之間切換,會發生
同樣現象。兩個控制字元之間的唯一區別是檔完成字元符合
檔和目錄名,而目錄完成字元只符合目錄名。如果檔完成
被用於內置式目錄命令(CD、MD 或 RD),就會使用目錄完成。

將引號將相符路徑括起來,完成代碼可以正確處理含有空格
或其他特殊字元的檔案名。同時,如果備份,然後從行內調用
檔完成,完成被調用是位於游標右方的文字會被丟棄。

需要引號的特殊字元是:

&()[]{}^=;!’+,`~

返回頁首
COLOR

設置默認的控制臺前景和背景顏色。

COLOR [attr]

attr 指定控制臺輸出的顏色屬性

顏色屬性由兩個十六進位數位指定 — 第一個為背景,第二個則為
前景。每個數位可以為以下任何值之一:

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

如果沒有給定任何參數,該命令會將顏色還原到 CMD.EXE 啟動時
的顏色。這個值來自當前控制臺視窗、/T 開關或
DefaultColor 註冊表值。

如果用相同的前景和背景顏色來執行 COLOR 命令,COLOR 命令
會將 ERRORLEVEL 設置為 1。

例如: “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 指定 Convert 應該用詳述模式運行。
/CvtArea:filename
將根目錄中的一個接續檔指定為
NTFS 系統檔的占位元符。
/NoSecurity 指定每個人都可以訪問轉換的檔
和目錄的安全設置。
/X 如果必要,先強行卸載卷。
該卷的所有打開的控制碼則無效。

返回頁首
COPY

將一份或多份檔複製到另一個位置。

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

source 指定要複製的檔。
/A 表示一個 ASCII 文字檔案。
/B 表示一個二進位檔。
/D 允許解密要創建的目標檔
destination 為新檔指定目錄和/或檔案名。
/V 驗證新檔寫入是否正確。
/N 複製帶有非 8dot3 名稱的檔時,
盡可能使用短檔案名。
/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 顯示為非 8dot3 檔案名產生的短名稱。格式是 /N 的格式,
短名稱插在長名稱前面。如果沒有短名稱,在其位置則
顯示空白。
/4 用四位元數位顯示年

可以在 DIRCMD 環境變數中預先設定開關。通過添加首碼 – (破折號)
來替代預先設定的開關。例如,/-W。

返回頁首
DISKCOMP

比較兩張軟碟的內容。

DISKCOMP [drive1: [drive2:]]

返回頁首
DISKCOPY

把一張軟碟的內容複製到另一張。

DISKCOPY [drive1: [drive2:]]
[/V]

/V 校驗資訊複製得是否正確。

兩張軟碟的類型必須相同。
您可以為 drive1 和 drive2 指定同樣的驅動器。

返回頁首
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。

返回頁首
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]
[/OFF[LINE]]
[/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 比較上顯示行數。
/OFF[LINE] 不要跳過帶有脫機屬性集的檔。
/T 不要將 tab 擴充到空格。
/U 將檔作為 UNICODE 文字檔比較。
/W 為了比較而壓縮空白(tab 和空格)。
/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]
[/F:file]

[/C:string]
[/G:file]
[/D:dir list]
[/A:color attributes]
[/OFF[LINE]]
strings
[[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 從指定的檔獲得搜索字串。 (/ 代表控制臺)。
/D:dir 查找以分號為分隔符號的目錄列表
strings 要查找的文字。
[drive:][path]filename
指定要查找的檔。

除非參數有 /C 首碼,請使用空格隔開搜索字串。
例如: ‘FINDSTR “hello there” x.y’ 在文件 x.y 中尋找 “hello” 或
“there” 。 ‘FINDSTR /C:”hello there” x.y’ 文件 x.y 尋找
“hello there”。

一般運算式的快速參考:
. 通配符: 任何字元
* 重複: 以前字元或類別出現零或零以上次數
^ 行位置: 行的開始
$ 行位置: 行的終點
[class] 字元類別: 任何在字元集中的字元
[^class] 補字元類別: 任何不在字元集中的字元
[x-y] 範圍: 在指定範圍內的任何字元
x Escape: 元字元 x 的文字用法

字位置: 字的結束

有關 FINDSTR 常見表達法的詳細情況,請見聯機命令參考。

返回頁首
FOR

對一組檔中的每一個檔執行某個特定命令。

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

%variable 指定一個單一字母可替換的參數。
(set) 指定一個或一組檔。可以使用通配符。
command 指定對每個檔執行的命令。
command-parameters
為特定命令指定參數或命令行開關。

在批次檔案中使用 FOR 命令時,指定變數請使用 %%variable
而不要用 %variable。變數名稱是區分大小寫的,所以 %i 不同於 %I.

如果命令副檔名被啟用,下列額外的 FOR 命令格式會受到
支持:

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

如果集中包含通配符,則指定與目錄名匹配,而不與檔
名匹配。

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

檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的
FOR 語句。如果在 /R 後沒有指定目錄,則使用當前
目錄。如果集僅為一個單點(.)字元,則枚舉該目錄樹。

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

該集表示以增量形式從開始到結束的一個數字序列。
因此,(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 為一個或多個檔案名。繼續到 filenameset 中的
下一個檔之前,每份檔都已被打開、讀取並經過處理。
處理包括讀取檔,將其分成一行行的文字,然後將每行
解析成零或更多的符號。然後用已找到的符號字串變數值
調用 For 迴圈。以默認方式,/F 通過每個檔的每一行中分開
的第一個空白符號。跳過空白行。您可通過指定可選 “options”
參數替代默認解析操作。這個帶引號的字串包括一個或多個
指定不同解析選項的關鍵字。這些關鍵字為:

eol=c – 指一個行注釋字元的結尾(就一個)
skip=n – 指在檔開始時忽略的行數。
delims=xxx – 指分隔符號集。這個替換了空格和跳格鍵的
默認分隔符號集。
tokens=x,y,m-n – 指每行的哪一個符號被傳遞到每個迭代
的 for 本身。這會導致額外變數名稱的分配。m-n
格式為一個範圍。通過 nth 符號指定 mth。如果
符號字串中的最後一個字元星號,
那麼額外的變數將在最後一個符號解析之後
分配並接受行的保留文本。
usebackq – 指定新語法已在下類情況中使用:
在作為命令執行一個後引號的字串並且一個單
引號字元為文字字串命令並允許在 filenameset
中使用雙引號擴起檔案名稱。

某些範例可能有助:

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

會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將
每行中的第二個和第三個符號傳遞給 for 程式體;用逗號和/或
空格定界符號。請注意,這個 for 程式體的語句引用 %i 來
取得第二個符號,引用 %j 來取得第三個符號,引用 %k
來取得第三個符號後的所有剩餘符號。對於帶有空格的文件
名,您需要用雙引號將檔案名括起來。為了用這種方式來使
用雙引號,您還需要使用 usebackq 選項,否則,雙引號會
被理解成是用作定義某個要分析的字串的。

%i 專門在 for 語句中得到說明,%j 和 %k 是通過
tokens= 選項專門得到說明的。您可以通過 tokens= 一行
指定最多 26 個符號,只要不試圖說明一個高於字母 ‘z’ 或
‘Z’ 的變數。請記住,FOR 變數是單一字母、分大小寫和全局的;而且,
同時不能有 52 個以上都在使用中。

您還可以在相鄰字串上使用 FOR /F 分析邏輯;方法是,
用單引號將括弧之間的 filenameset 括起來。這樣,該字元
串會被當作一個檔中的一個單一輸入行。

最後,您可以用 FOR /F 命令來分析命令的輸出。方法是,將
括弧之間的 filenameset 變成一個反括字串。該字串會
被當作命令行,傳遞到一個子 CMD.EXE,其輸出會被抓進
記憶體,並被當作檔分析。因此,以下例子:

FOR /F “usebackq 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 – 查找列在路徑環境變數的目錄,並將 %I 擴充
到找到的第一個完全合格的名稱。如果環境變數名
未被定義,或者沒有找到檔,此組合鍵會擴充到
空字串

可以組合修飾符來得到多重結果:

%~dpI – 僅將 %I 擴充到一個驅動器號和路徑
%~nxI – 僅將 %I 擴充到一個檔案名和副檔名
%~fsI – 僅將 %I 擴充到一個帶有短名的完整路徑名
%~dp$PATH:i – 查找列在路徑環境變數的目錄,並將 %I 擴充
到找到的第一個驅動器號和路徑。
%~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 得到其餘所有以 nth 參數打頭的
參數;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 指定只有條件為 false 的情況下, Windows XP 才
應該執行該命令。

ERRORLEVEL number 如果最後運行的程式返回一個等於或大於
指定數位的退出編碼,指定條件為 true。

string1==string2 如果指定的文字字串匹配,指定條件為 true。

EXIST filename 如果指定的檔案名存在,指定條件為 true。

command 如果符合條件,指定要執行的命令。如果指定的
條件為 FALSE,命令後可跟一個執行 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 command
IF CMDEXTVERSION number command
IF DEFINED variable command

其中,比較運算符可以是:

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

及 /I 開關;如果該開關被指定,則說明要進行的字串比較不分
大小寫。/I 開關可以用於 IF 的 string1==string2 的形式上。這些
比較都是通用的;原因是,如果 string1 和 string2 都是由數字
組成的,字串會被轉換成數位,進行數位比較。

CMDEXTVERSION 條件的作用跟 ERRORLEVEL 的一樣,除了它
是在跟與命令副檔名有關聯的內部版本號比較。第一個版本
是 1。每次對命令副檔名有相當大的增強時,版本號會增加一個。
命令副檔名被停用時,CMDEXTVERSION 條件不是真的。

如果已定義環境變數,DEFINED 條件的作用跟 EXISTS 的一樣,
除了它取得一個環境變數,返回的結果是 true。

如果沒有名為 ERRORLEVEL 的環境變數,%ERRORLEVEL%
會擴充為 ERROLEVEL 當前數值的字串運算式;否則,您會得到
其數值。運行程式後,以下語句說明 ERRORLEVEL 的用法:

goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1

您也可以使用以上的數位比較:

IF %ERRORLEVEL% LEQ 1 goto okay

如果沒有名為 CMDCMDLINE 的環境變數,%CMDCMDLINE%
將在 CMD.EXE 進行任何處理前擴充為傳遞給 CMD.EXE 的原始
命令行;否則,您會得到其數值。

如果沒有名為 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 abcd

與:

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

相同。如果副檔名被停用,則需要鍵入 mkdir abcd。

返回頁首
MKDIR

創建目錄。

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

如果命令副檔名被啟用,MKDIR 會如下改變:

如果需要,MKDIR 會在路徑中創建中級目錄。例如: 假設 a 不
存在,那麼:

mkdir abcd

與:

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

相同。如果副檔名被停用,則需要鍵入 mkdir abcd。

返回頁首
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 要顯示的檔列表。 用空格分開列表中的文件。

如果擴展的功能已經啟用,在 — More — 提示處會接受下列
命令:

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 & (短 and 符號)
$B | (管道)
$C ( (左括弧)
$D 當前日期
$E Escape code (ASCII 碼 27)
$F ) (右括弧)
$G > (大於符號)
$H Backspace (擦除前一個字元)
$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 [drive:][path]filename
在使用 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 命令行開關指定等號右邊的字串為被評估的數位運算式。該運算式
評估器很簡單並以遞減的優先權順序支援下列操作:

() – 分組
! ~ – – 單項運算符
* / % – 算數運算符
+ – – 算數運算符
<< >> – 邏輯移位元
– 按位“與”
^ – 按位“異”
| – 按位“或”
= *= /= %= += -= – 賦值
&= ^= |= <<= >>=
, – 運算式分隔符號

如果您使用任何邏輯或取餘操作符, 您需要將運算式字串用
引號擴起來。在運算式中的任何非數位字串鍵作為環境變數
名稱,這些環境變數名稱的值已在使用前轉換成數位。如果指定
了一個環境變數名稱,但未在當前環境中定義,那麼值將被定為
零。這使您可以使用環境變數值做計算而不用鍵入那些 % 符號
來得到它們的值。如果 SET /A 在命令腳本外的命令行執行的,
那麼它顯示該運算式的最後值。該分配的操作符在分配的操作符
左邊需要一個環境變數名稱。除十六進位有 0x 首碼, 八進制
有 0 首碼的,數位值為十進位元數字。因此, 0x12 與 18 和 022
相同。請注意八進制公式可能很容易搞混: 08 和 09 是無效的數字,
因為 8 和 9 不是有效的八進制位數。

/P 命令行開關允許將變數數值設成用戶輸入的一行輸入。讀取輸入
行之前,顯示指定的 promptString。promptString 可以是空的。

環境變數替換已如下增強:

%PATH:str1=str2%

會擴展 PATH 環境變數,用 “str2” 代替擴展結果中的每個 “str1″。
要有效地從擴展結果中刪除所有的 “str1″,”str2” 可以是空的。
“str1″ 可以以星號打頭;在這種情況下,”str1” 會從擴展結果的
開始到 str1 剩餘部分第一次出現的地方,都一直保持相配。

也可以為副檔名指定子字串。

%PATH:~10,5%

會擴展 PATH 環境變數,然後只使用在擴展結果中從第 11 個(偏
移量 10)字元開始的五個字元。如果沒有指定長度,則採用默認
值,即變數數值的餘數。如果兩個數字(偏移量和長度)都是負數,
使用的數位則是環境變數數值長度加上指定的偏移量或長度。

%PATH:~-10%

會提取 PATH 變數的最後十個字元。

%PATH:~0,-2%

會提取 PATH 變數的所有字元,除了最後兩個。

終於添加了延遲環境變數擴充的支援。該支持總是按預設值被
停用,但也可以通過 CMD.EXE 的 /V 命令行開關而被啟用/停用。
請參閱 CMD /?

考慮到讀取一行文本時所遇到的目前擴充的限制時,延遲環境
變數擴充是很有用的,而不是執行的時候。以下例子說明直接
變數擴充的問題:

set VAR=before
if “%VAR%” == “before” (
set VAR=after
if “%VAR%” == “after” @echo If you see this, it worked
)

不會顯示消息,因為在讀到第一個 IF 語句時,BOTH 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 /? 。
無論在 SETLOCAL 命令之前它們的設置是什麼,這些修改會一直
保留到匹配的 ENDLOCAL 命令。

如果有一個參數,SETLOCAL 命令將設置 ERRORLEVEL 的值。
如果有兩個有效參數中的一個,該值則為零。用下列技巧,您
可以在批腳本中使用這個來決定副檔名是否可用:

VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions

這個方法之所以有效,是因為在 CMD.EXE 的舊版本上,SETLOCAL
不設置 ERRORLEVEL 值。具有不正確參數的 VERIFY 命令將
ERRORLEVEL 值初始化成非零值。

返回頁首
SHIFT

更改批次檔案中可替換參數的位置。

SHIFT
[/n]

如果命令副檔名被啟用,SHIFT 命令支援/n 命令行開關;該命令行開關告訴
命令從第 n 個參數開始移位;n 介於零和八之間。例如:

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 說明每個

比較應從每行的第三個字元開始。少於 n 個字元

的行排在其他行之前。按預設值,從每行的第一

個字元開始比較。

/L[OCALE] locale 用指定的區域設置替代系統默認區域設置。

“”C”” 區域設置產生最快的排序順序並且是當前的

唯一其他選擇。排序總是不分大小寫的。

/M[EMORY] kilobytes 指定用於排序的主記憶體量,單位為 KB。

最小記憶體量總是 160 KB。如果指定記憶體大小,

無論主記憶體的可用量是多少,指定的記憶體量

會全部用於排序。

要取得最佳性能,通常不指定記憶體大小。按默認

值,如果達到默認最大記憶體值,排序會一次完成

(非暫存檔案);否則,排序會分兩次完成(沒有

完全排序的資料存儲在暫存檔案中);用於排序

和合併的記憶體量相等。如果輸入和輸出都是

檔, 默認最大記憶體量為可用主記憶體的 90%;

否則,為主記憶體的 45%。

/REC[ORD_MAXIMUM] characters 指定記錄中的最大字元數量

(預設值為 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 位元 Windows 程式
SHARED 在分共用的空間內開始 16 位元 Windows 程式
LOW 在 IDLE 優先順序類別開始應用程式
NORMAL 在 NORMAL 優先順序類別開始應用程式
HIGH 在 HIGH 優先順序類別開始應用程式
REALTIME 在 REALTIME 優先順序類別開始應用程式
ABOVENORMAL 在 ABOVENORMAL 優先順序類別開始應用程式
BELOWNORMAL 在 BELOWNORMAL 優先順序類別開始應用程式
WAIT 啟動應用程式並等候它結束
command/program
如果是內部 cmd 命令或批文件,那麼該命令處理器是
用 /K 命令行開關運行 cmd.exe 的。這表示該視窗在命令運行
後仍然存在。

如果不是內部 cmd 命令或批文件,則是一個程式,並
作為視窗應用程式或控制臺應用程式運行。

parameters 這些為傳送到命令/程式的參數

如果命令副檔名被啟用,通過命令行或 START 命令的外部命令
調用會如下改變:

將檔名作為命令鍵入,非可執行檔 可以通過檔關聯調用。
(例如, WORD.DOC 會調用跟 .DOC 檔副檔名關聯的應用程式)。
關於如何從命令腳本內部創建這些關聯,請參閱 ASSOC 和
FTYPE 命令。

執行的應用程式是 32-位元 GUI 應用程式時,CMD.EXE 不等應用
程式終止就返回命令提示。如果在命令腳本內執行,該新行為
則不會發生。

如果執行的命令行的第一個符號是不帶副檔名或路徑修飾符的
字串 “CMD”,”CMD” 會被COMSPEC 變數的數值所替換。這
防止從當前目錄抓出 CMD.EXE。

如果執行的命令行的第一個符號沒有副檔名,CMD.EXE 會使用
PATHEXT 環境變數的數值來決定要以什麼順序尋找哪些擴展
名。PATHEXT 變數的預設值是:

.COM;.EXE;.BAT;.CMD

請注意,該語法跟 PATH 變數的一樣,分號隔開不同的元素。

查找可執行檔時,如果沒有相配的副檔名,看一看該名稱是否
與目錄名相配。如果確實如此,START 會在那個路徑上調用
Explorer。如果從命令行執行,則等同於對那個路徑作 CD /D。

返回頁首
SUBST

將路徑與驅動器號關聯。

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

drive1: 指定要指派路徑的虛擬驅動器。
[drive2:]path 指定物理驅動器和要指派給虛擬驅動器的
路徑。
/D 刪除被替換的 (虛擬) 驅動器。

不加任何參數鍵入 SUBST,可以顯示當前虛擬驅動器的清單。

返回頁首
TIME

顯示或設置系統時間。

TIME
[/T | time]

顯示當前時間設置和輸入新時間的提示,請鍵入
不帶參數的 TIME。要保留現有時間,請按 ENTER。

如果命令副檔名被啟用,DATE 命令會支援 /T 命令行開關;該命令行開關告訴
命令只輸出當前時間,但不提示輸出新時間。

返回頁首
TITLE

設置命令提示視窗的視窗標題。

TITLE [string]

string 指定命令提示視窗的標題。

返回頁首
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]

[/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 複製檔審核設置(隱含 /O)。
現存目標檔。
/-Y 導致提示以確認改寫一個
現存目標檔。
/Z 用重新啟動模式複製網路檔。

命令行開關 /Y 可以預先在 COPYCMD 環境變數中設置。
這可能被命令行上的 /-Y 改寫。

出處: http://tw.group.knowledge.yahoo.com/hacker-cracker/article/view?aid=1295