W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
使用條件處理符號可以從單個命令行或腳本運行多個命令。通過條件處理符號運行多個命令時,條件處理符號右邊的命令根據(jù)條件處理符號左邊的命令結(jié)果來發(fā)揮作用。例如,只有在前一個命令失敗的情況下,才可能需要運行一個新命令?;蛘?,只有在前一個命令成功時才可能需要運行一個新命令。
可以使用下表列出的特殊字符來傳遞多個命令。
字符 語法 定義
& [...] command1 & command2 用來分隔一個命令行中的多個命令。Cmd.exe 運行第一個命令,然后運行第二個命令。
&& [...] command1 && command2 只有在符號 && 前面的命令成功時,才用于運行該符號后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令運行成功時才運行第二個命令。
|| [...] command1 || command2 只有在符號 || 前面的命令失敗時,才用于運行符號 || 后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令未能運行成功(接收到大于零的錯誤代碼)時才運行第二個命令。
( ) [...] (command1 & command2) 用來分組或嵌套多個命令。
; 或者 , command1 parameter1;parameter2 用來分隔命令參數(shù)。
注意
· “與”符號 (&)、管道符號 (|) 以及括號 () 是特殊字符,將它們作為參數(shù)傳遞時,必須在其前面加上轉(zhuǎn)義字符 (^) 或引號。
· 如果某個命令成功完成操作,則該命令就返回零 (0) 退出代碼或不返回任何退出代碼
> 創(chuàng)建一個文件
>> 追加到一個文件后面
@ 前綴字符.表示執(zhí)行時本行在cmd里面不顯示, 可以使用 echo off關(guān)閉顯示
^ 對特殊符號( > < &)的前導(dǎo)字符. 第一個只是顯示aaa 第二個輸出文件bbb
echo 123456 ^> aaa
echo 1231231 > bbb
() 包含命令
(echo aa & echo bb)
, 和空格一樣的缺省分隔符號.
; 注釋,表示后面為注釋
: 標(biāo)號作用
│ 管道操作
; 符號當(dāng)命令相同的時候可以將不同的目標(biāo)用;隔離開來但執(zhí)行效果不變。如執(zhí)行過程中發(fā)生錯誤則只返回錯誤報告但程序還是會繼續(xù)執(zhí)行
首先, @ 不是一個命令, 而是DOS 批處理的一個特殊標(biāo)記符, 僅用于屏蔽命令行回顯. 下面是DOS命令行或批處理中可能會見到的一些特殊標(biāo)記符:
CR(0D) 命令行結(jié)束符
Escape(1B) ANSI轉(zhuǎn)義字符引導(dǎo)符
Space(20) 常用的參數(shù)界定符
Tab(09) ; = 不常用的參數(shù)界定符
+ COPY命令文件連接符
* ? 文件通配符
"" 字符串界定符
| 命令管道符
< > >> 文件重定向符
@ 命令行回顯屏蔽符
/ 參數(shù)開關(guān)引導(dǎo)符
: 批處理標(biāo)簽引導(dǎo)符
% 批處理變量引導(dǎo)符
其次, :: 確實可以起到rem 的注釋作用, 而且更簡潔有效; 但有兩點需要注意:
第一, 除了 :: 之外, 任何以 :開頭的字符行, 在批處理中都被視作標(biāo)號, 而直接忽略其后的所有內(nèi)容, 只是為了與正常的標(biāo)號相區(qū)別, 建議使用 goto 所無法識別的標(biāo)號, 即在 :后緊跟一個非字母數(shù)字的一個特殊符號.
第二, 與rem 不同的是, ::后的字符行在執(zhí)行時不會回顯, 無論是否用echo on打開命令行回顯狀態(tài), 因為命令解釋器不認(rèn)為他是一個有效的命令行, 就此點來看, rem 在某些場合下將比 :: 更為適用; 另外, rem 可以用于 config.sys 文件中.
也可以使用以下的用法:
if exist command
device 是指DOS系統(tǒng)中已加載的設(shè)備, 在win98下通常有:
AUX, PRN, CON, NUL
COM1, COM2, COM3, COM4
LPT1, LPT2, LPT3, LPT4
XMSXXXX0, EMMXXXX0
A: B: C: ...,
CLOCK$, CONFIG$, DblBuff$, IFS$HLP$
具體的內(nèi)容會因硬軟件環(huán)境的不同而略有差異, 使用這些設(shè)備名稱時, 需要保證以下三點:
1. 該設(shè)備確實存在(由軟件虛擬的設(shè)備除外)
2. 該設(shè)備驅(qū)動程序已加載(aux, prn等標(biāo)準(zhǔn)設(shè)備由系統(tǒng)缺省定義)
3. 該設(shè)備已準(zhǔn)備好(主要是指a: b: ..., com1..., lpt1...等)
可通過命令 mem/d | find "device" /i 來檢閱你的系統(tǒng)中所加載的設(shè)備
另外, 在DOS系統(tǒng)中, 設(shè)備也被認(rèn)為是一種特殊的文件, 而文件也可以稱作字符設(shè)備; 因為設(shè)備(device)與文件都是使用句柄(handle)來管理的, 句柄就是名字, 類似于文件名, 只不過句柄不是應(yīng)用于磁盤管理, 而是應(yīng)用于內(nèi)存管理而已, 所謂設(shè)備加載也即指在內(nèi)存中為其分配可引用的句柄.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: