欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

windows批處理中if語句的用法詳解

 更新時(shí)間:2023年08月31日 11:10:19   作者:微小冷  
if是宇宙通用的條件選擇語句標(biāo)識,在批處理指令中也不例外,這篇文章主要來大家學(xué)習(xí)一下windows批處理中if語句的用法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

if

if是宇宙通用的條件選擇語句標(biāo)識,在批處理指令中也不例外。但和其他語言不同之處在于,批處理中的if有一個(gè)not開關(guān),即if XXX表示xxx為真時(shí)執(zhí)行后續(xù)語句,if not XXX表示XXX為假時(shí)執(zhí)行后續(xù)語句。

從判斷內(nèi)容的角度來說,if提供了三種類型的判斷,分別是數(shù)字、字符串和文件路徑,下面做一個(gè)批處理文件,統(tǒng)一演示一下

:: iftest.bat
@echo off
dir test.txt
if errorlevel 1 (echo error)
if a==a (echo a==a)
if exist iftest.bat (echo iftest.bat exist)

結(jié)果如下

>iftest.bat
。。。
找不到文件
error
a==a
iftest.bat exist

首先,if errorlevel 1,表示如果上一條命令的錯(cuò)誤碼大于1,那么就執(zhí)行后續(xù)代碼。上一條代碼是dir test.txt,這個(gè)文件是不存在的,所以執(zhí)行結(jié)果是找不到文件,同時(shí)系統(tǒng)錯(cuò)誤碼也變成了1。在這種情況下,if errorlevel 1判定為真,執(zhí)行后面的echo error語句。

第二條沒什么好說的,判斷兩個(gè)字符串是否相等,很顯然相等。

第三條其實(shí)也沒什么好說的,判斷iftest.bat是否存在,我們創(chuàng)建的這個(gè)腳本就是iftest.bat,這個(gè)文件顯然是存在的。

分析這三條代碼可以發(fā)現(xiàn),if后面緊跟著要執(zhí)行的命令,是用小括號括起來的,這一點(diǎn)和許多編程語言不同。如果執(zhí)行的語句只有一行,那么這個(gè)括號可以省略,否則就必須帶上,而且括號(和條件之間必須有空格。

有一些奇葩的dos指令,需要在換行時(shí)才能生效,比如del,這種情況下代碼必須換行。

擴(kuò)展命令

上面這三種基礎(chǔ)指令,其實(shí)很弱小,甚至無法比較兩個(gè)數(shù)字。所以windows分別為其提供了擴(kuò)展功能,對應(yīng)指令如下:

原生擴(kuò)展說明
if errorlevel xxxif cmdextversion xxx判斷系統(tǒng)錯(cuò)誤碼
if a==bif a op b字符串或者數(shù)值比較,op包含多種運(yùn)算符
if exist xxxif defined xxx擴(kuò)展指令還可以檢查變量是否存在

其中,op的可用運(yùn)算符包括

op說明op說明
EQU等于NEQ不等于
LSS小于LEQ小于或等于
GTR大于GEQ大于或等于

如果是兩個(gè)數(shù)字比較,那么就直接比較大小;如果是字符串,那么就根據(jù)ASCII的位置進(jìn)行比較。并且此時(shí)還有一個(gè)忽略大小寫開關(guān)/i,選中之后,在比較字符時(shí)將忽略大小寫。

:: ifadvanced.bat
@echo off
dir test.txt
if cmdextversion 1 (echo error)
if 3 LSS 4 (echo "3<4")
set a=5
if defined a (echo a=%a%)

運(yùn)行結(jié)果如下

>ifadvanced.bat
找不到文件
error
"3<4"
a=5

else

批處理中的else,或者else if有很多說道,比如必須和上一個(gè)if同行,如果if中的命令是多行的,那么就必須和if的尾括號同行,否則就不會被執(zhí)行。

:: ifelse.bat
@echo off
if %1==1 (
   goto :a
)else if %1==2 (
   goto :b
)else (
   goto :c
)
:a
echo you inputted 1
goto :eof
:b
echo you inputted 2
goto :eof
:c
echo you didn't input 1 or 2
goto :eof

運(yùn)行結(jié)果如下

>iftest 1
you inputted 1

>iftest 2
you inputted 2

>iftest 5
you didn't input 1 or 2

到此這篇關(guān)于windows批處理中if語句的用法詳解的文章就介紹到這了,更多相關(guān)批處理if語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論