雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

DOS/BAT

當前位置:主頁 > 腳本語言 > DOS/BAT >

批處理命令教學之復合語句連接符(&、&&和||)

來源:本站原創(chuàng)|時間:2020-01-10|欄目:DOS/BAT|點擊:

幫助信息:

復制代碼 代碼如下:

& [...] command1 & command2 用來分隔一個命令行中的多個命令。Cmd.exe 運行第一個命令,然后運行第二個命令。
&& [...] command1 && command2 只有在符號 && 前面的命令成功時,才用于運行該符號后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令運行成功時才運行第二個命令。
|| [...] command1 || command2 只有在符號 || 前面的命令失敗時,才用于運行符號 || 后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令未能運行成功(接收到大于零的錯誤代碼)時才運行第二個命令。

以上都是官方的幫助信息(引用于ntcmds.chm),最好用googl搜索下載一本。

命令概括:
& 一般念“and”。

參數(shù)詳解:

1.先說說&

“用來分隔一個命令行中的多個命令”,官方的這種解釋,其實是從解釋器的角度出發(fā)的。如果按人的角度來說的話,應該是“連接多條命令”。

比如我要輸出 hello 和 world 2行文本,用”&“將兩條echo命令連接。

復制代碼 代碼如下:

@echo off
echo hello & echo world
pause

“&”在使用中最常出現(xiàn)的問題是變量延遲,關于這個問題,可以參考批處理for語句從入門到精通中關于這個知識點的部分。

2.再說說ErrorLevel

ErrorLevel由兩個單詞構成,一個Error(錯誤),一個Level(等級),如果綜合這兩個單詞,字面意義其實就是”錯誤數(shù)量“或者”錯誤類型“。

如果命令執(zhí)行成功,那么”錯誤數(shù)量“自然是零。如果執(zhí)行失敗,那么”錯誤數(shù)量“就是非零。

關于ErrorLevel的帖子:

批處理內(nèi)部命令對錯誤返回碼errorlevel的影響

對批處理中errorlevel的幾點猜測

3.執(zhí)行符號前的命令成功就執(zhí)行符號后的命令

輸出 hello 和 world 2行文本,用”&&“將兩條echo命令連接。

復制代碼 代碼如下:

@echo off
echo hello && echo world
pause

執(zhí)行的結果和用"&"鏈接兩條命令時一模一樣,那么”&“和"&&"功能一樣嗎?

答案是:它們的功能完全不同,這種一樣的結果不過是一種巧合罷了。

”&“的作用不過是鏈接多條命令,而”&&“是為了判斷符號前的命令是否執(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)容了,希望大家能夠喜歡。

上一篇:Windows下使用命令實現(xiàn)文件換行符替換

欄    目:DOS/BAT

下一篇:使用BAT一句話命令實現(xiàn)快速合并JS、CSS

本文標題:批處理命令教學之復合語句連接符(&、&&和||)

本文地址:http://www.jygsgssxh.com/a1/DOS_BAT/10118.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有