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 的變更如下:
必要時,MKDIR 會在目錄中建立一個中間目錄。
例如,假設 \\a 不存在,則:
mkdir \\a\\b\\c\\d
相同於:
mkdir \\a
chdir \\a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
如果擴充功\能停用的話,您必須鍵入前一種命令類型。
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: 往下開始定義,方法是使用第一
個發現到未曾使用過的磁碟機代號。
轉載自:http://www.csie.ntu.edu.tw/~r91112/myDownload/WEB/CMD.html
沒有留言:
張貼留言