批處理命令教學(xué)之復(fù)合語句連接符(&、&&和||)
幫助信息:
& [...] command1 & command2 用來分隔一個命令行中的多個命令。Cmd.exe 運行第一個命令,然后運行第二個命令。
&& [...] command1 && command2 只有在符號 && 前面的命令成功時,才用于運行該符號后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令運行成功時才運行第二個命令。
|| [...] command1 || command2 只有在符號 || 前面的命令失敗時,才用于運行符號 || 后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令未能運行成功(接收到大于零的錯誤代碼)時才運行第二個命令。
以上都是官方的幫助信息(引用于ntcmds.chm),最好用googl搜索下載一本。
命令概括:
& 一般念“and”。
參數(shù)詳解:
1.先說說&
“用來分隔一個命令行中的多個命令”,官方的這種解釋,其實是從解釋器的角度出發(fā)的。如果按人的角度來說的話,應(yīng)該是“連接多條命令”。
比如我要輸出 hello 和 world 2行文本,用”&“將兩條echo命令連接。
@echo off
echo hello & echo world
pause
“&”在使用中最常出現(xiàn)的問題是變量延遲,關(guān)于這個問題,可以參考批處理for語句從入門到精通中關(guān)于這個知識點的部分。
2.再說說ErrorLevel
ErrorLevel由兩個單詞構(gòu)成,一個Error(錯誤),一個Level(等級),如果綜合這兩個單詞,字面意義其實就是”錯誤數(shù)量“或者”錯誤類型“。
如果命令執(zhí)行成功,那么”錯誤數(shù)量“自然是零。如果執(zhí)行失敗,那么”錯誤數(shù)量“就是非零。
關(guān)于ErrorLevel的帖子:
批處理內(nèi)部命令對錯誤返回碼errorlevel的影響
對批處理中errorlevel的幾點猜測
3.執(zhí)行符號前的命令成功就執(zhí)行符號后的命令
輸出 hello 和 world 2行文本,用”&&“將兩條echo命令連接。
@echo off
echo hello && echo world
pause
執(zhí)行的結(jié)果和用"&"鏈接兩條命令時一模一樣,那么”&“和"&&"功能一樣嗎?
答案是:它們的功能完全不同,這種一樣的結(jié)果不過是一種巧合罷了。
”&“的作用不過是鏈接多條命令,而”&&“是為了判斷符號前的命令是否執(zhí)行成功,從而決定是否執(zhí)行符號后的命令。
這里舉一個例子來加以說明:
C:\Users\helloworld\Desktop>start "" "111.txt" && echo hello
系統(tǒng)找不到文件 111.txt。
C:\Users\helloworld\Desktop>start "" "111.txt" & echo hello
系統(tǒng)找不到文件 111.txt。
hello
用start命令打開一個不存在的文件,由于文件是不存在的,所以start命令執(zhí)行失敗,這時用"&&"鏈接的命令”echo hello“沒有執(zhí)行,而用”&“鏈接的執(zhí)行了。
”&&“的這種特性,讓它成為了特殊的條件運算符。
4.執(zhí)行符號前的命令失敗就執(zhí)行符號后的命令
&&的否定操作就是||。
例如:
C:\Users\helloworld\Desktop>start "" "111.txt" || echo hello
系統(tǒng)找不到文件 111.txt。
hello
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
自制控制進程和控制開機啟動項批處理(ntsd強制結(jié)束版)
這篇文章主要介紹了自制控制進程和控制開機啟動項批處理,需要的朋友可以參考下2014-05-05windows7系統(tǒng)去除快捷方式小箭頭BAT腳本分享
這篇文章主要介紹了windows7系統(tǒng)去除快捷方式小箭頭BAT腳本分享,本文直接給出實現(xiàn)代碼,適用Win7系統(tǒng),需要的朋友可以參考下2014-12-12關(guān)于批處理中FOR語句的使用說明與學(xué)習(xí)技巧
關(guān)于批處理中FOR語句的使用說明與學(xué)習(xí)技巧...2007-10-10.bat文件中start、pause、goto及rem的用法示例
最近接觸到了bat批處理命令,發(fā)現(xiàn)了一些以前沒注意到的知識點,所以下面這篇文章主要給大家介紹了關(guān)于.bat文件中start、pause、goto及rem用法的相關(guān)資料,需要的朋友可以參考下2022-04-04Convert 將 FAT 和 FAT32 卷轉(zhuǎn)換為 NTFS
Convert 將 FAT 和 FAT32 卷轉(zhuǎn)換為 NTFS...2007-09-09通過批處理關(guān)閉135 137 445等端口的實現(xiàn)代碼(勒索病毒)
這篇文章主要介紹了通過批處理關(guān)閉135 137 445等端口的實現(xiàn)代碼,需要的朋友可以參考下2018-08-08windows系統(tǒng)配制wget計劃任務(wù)腳本
這篇文章主要介紹了windows系統(tǒng)配制wget計劃任務(wù)腳本,需要的朋友可以參考下2014-04-04