日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3.1 if条件语句

發(fā)布時(shí)間:2024/9/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.1 if条件语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

3.1 if條件語句

《批處理入門手冊(cè)》bat腳本如果要寫中文就要以gbk的編碼保存賦值=,相等==,左右兩邊不要有空格------------------------------------------------------------------------------------------------------3.1 學(xué)習(xí)if條件語句學(xué)習(xí)要點(diǎn):5種if語句的基本語法:1。判斷兩個(gè)字符串是否相等,if "字符串1"=="字符串2" command 語句;2。判斷兩個(gè)數(shù)值是否相等,if 數(shù)值1 equ 數(shù)值2 command 語句;3。判斷判斷驅(qū)動(dòng)器,文件或文件夾是否存在,if exist filename command 語句;4。判斷變量是否已經(jīng)定義,if defined 變量 command 語句;5。判斷上個(gè)命令的返回值,if errorlevel 數(shù)值 command 語句。------------------------------------------------------------------------------------------------------

1、判斷兩個(gè)字符串是否相等

if "字符串1" == "字符串2" command 語句注意:在"字符串1"=="字符串2"中,是兩個(gè)連續(xù)的"="例1@echo offset /p var1=請(qǐng)輸入第一個(gè)比較的字符:set /p var2=請(qǐng)輸入第二個(gè)比軟的字符:if "%var1%"=="%var2%" (echo 輸入的兩個(gè)字符相同) else echo 輸入的兩個(gè)字符不相同pause執(zhí)行后會(huì)要求你輸入兩個(gè)字符串,然后批處理判斷它倆是否相同。在判斷字符串是否相等的時(shí)候,if是會(huì)區(qū)分大小寫的,例2@echo offif "a"=="A" (echo 輸入的兩個(gè)字符相同) else echo 輸入的兩個(gè)字符不相同pause執(zhí)行后會(huì)顯示:輸入的兩個(gè)字符不相同如果我們不想讓它區(qū)分大小寫,則可以加上/i 參數(shù)。再看下面這個(gè)例子,例3@echo offif /i "a"=="A" (echo 輸入的兩個(gè)字符相同) else echo 輸入的兩個(gè)字符不相同pause這次執(zhí)行后會(huì)顯示:輸入的兩個(gè)字符相同------------------------------------------------------------------------------------------------------

2、判斷兩個(gè)數(shù)值是否相等

if 數(shù)值1 equ 數(shù)值2 command 語句語句中的equ 表示相等的意思,判斷兩個(gè)數(shù)值之間的大小關(guān)系還有以下關(guān)系符號(hào):中文含義 關(guān)系符 英文解釋等于 ? ?? equ equal大于 ? ?? gtr greater than大于或等于 geq greater than or equal小于 ? ?? lss less than小于或等于 leq less than or equal不等于 ? ? neq no equal

例4 判斷數(shù)值是否相等

@echo off?set /p var=請(qǐng)輸入一個(gè)數(shù)字:?if %var% geq 10 (echo 此數(shù)大于或等于10) else echo 此數(shù)小于10pause注意哦,批處理中的大于號(hào),小于號(hào),等于號(hào)等等都不能用:“>” “<” “=” 這些符號(hào),而要用像"gtr"這類的。☆注意:if 比較字符串與比較數(shù)字之間的區(qū)別,它們的區(qū)別體現(xiàn)在引號(hào)""上面,請(qǐng)看下面的例子【example 1】@echo offif "12" lss "4" (echo 12竟然小于4哦?) else echo 12當(dāng)然不會(huì)小于4的!pause執(zhí)行的結(jié)果是:12竟然小于4哦?【example 2】@echo offif 12 lss 4 (echo 12竟然小于4哦?) else echo 12當(dāng)然不會(huì)小于4的!Pause執(zhí)行的結(jié)果是:12當(dāng)然不會(huì)小于4的!為什么【example 1】中加了雙引號(hào)""會(huì)出錯(cuò)呢?原因如下:如果要比較的兩個(gè)元素加了雙引號(hào)"",那么會(huì)被當(dāng)成是字符的比較。兩個(gè)元素作比較的流程是:先比較兩個(gè)元素的首位,如果首位相同,再比較第二位,如果第二位相同,再比較第三位。。。依此,在【example 1】if "12" lss?"4" 語句中,實(shí)質(zhì)是1與4的比較,1當(dāng)然小于4,所以執(zhí)行了后面的命令:echo 12竟然小于4哦?☆建議:如果是字符串的比較就使用雙引號(hào) "" 是數(shù)字的比較就不用雙引號(hào)了!------------------------------------------------------------------------------------------------------

3、判斷判斷驅(qū)動(dòng)器

文件或文件夾是否存在,if exist filename command 語句我們來瞧瞧這個(gè)判斷驅(qū)動(dòng)器,文件或者文件夾是否存在的語句,這里if exist filename 是表示:存在 filename的意思。

例5 判斷磁盤是否存在

@echo off?if exist "e:" (echo e盤存在) else echo e盤不存在?pause>nul這里是判斷e: 是否存在!

例6 判斷文件是否存在

@echo offif exist d:\123.bat (echo 123.bat文件存在!) else echo 123.bat文件不存在!?pause這個(gè)例子是用來判斷123.bat文件是否存在的,但并不嚴(yán)謹(jǐn)!如果123.bat是一個(gè)文件夾而不是一個(gè)文件時(shí),上面的判斷就不行了!那么如何判斷指定的文件123.txt是否存在?請(qǐng)看:@echo offdir /a-d d:\123.bat >nul 2>nulif %errorlevel%==0 (echo 123.bat文件存在!) else echo 123.bat文件不存在!?Pause先用dir的/a-d參數(shù)去除123.bat的目錄屬性,指定說明要搜索的123.bat是文件而不是文件夾,并把結(jié)果(包括正確和錯(cuò)誤)屏蔽(>nul 2>nul),如果dir找到了文件123.bat,那么其errorlevel值(dir命令的退出編碼)會(huì)被設(shè)為0,否則為1則是沒有此文件。當(dāng)然也可以用||和&&來判斷。關(guān)于為什么要用if %errorlevel%==0 而不用if errorlevel 0?呢?在后面if errorlevel中會(huì)有說明!

例7 判斷是否是文件夾

@echo offif exist test\ (echo test 是文件夾) else echo test 是文件pause這里是判斷文件夾是否存在。對(duì)于文件夾存在的判斷,我們不可以用以下兩種寫法:第①種@echo offif exist test\. (echo test 是文件夾) else echo test 是文件pause第②種@echo offif exist test\nul (echo test 是文件夾) else echo test 是文件pause------------------------------------------------------------------------------------------------------

4、判斷變量是否已經(jīng)定義

if defined 變量 command 語句這是一個(gè)判斷變量是否已被定義的語句,我們還是先看例子,例8@echo offif defined a (echo 變量 a 已定義) else (echo 變量 a 沒有被定義)pause執(zhí)行后顯示:變量 a 沒有被定義例9@echo offset a=if defined a (echo 變量 a 已定義) else (echo 變量 a 沒有被定義)pause執(zhí)行后顯示:變量 a 沒有被定義注意:set a=這后面是沒有空格的。例10@echo offset a=10if defined a (echo 變量 a 已定義) else (echo 變量 a 沒有被定義)pause執(zhí)行后顯示:變量 a 已定義看了上面三個(gè)例子,你應(yīng)該發(fā)現(xiàn)點(diǎn)什么了吧?現(xiàn)在我們應(yīng)該知道了,當(dāng)變量不存在或是值為空時(shí),變量則為未定義。當(dāng)我們用if defined 變量 command 語句判斷變量是否被定義時(shí),請(qǐng)注意變量為不使用引導(dǎo)符號(hào)%的變量名,不能用寫為%變量%,否則出錯(cuò)。大家來試一下下面的這兩個(gè)例子,例11@echo offset var1=5if defined var1 (echo 變量var1已定義) else (echo 變量var1沒有被定義)set /p var2=請(qǐng)輸入一個(gè)數(shù)字:if defined %var2% (echo 變量var2已定義) else (echo 變量var2沒有被定義)pause例12@echo offset var1=5if defined var1 (echo 變量var1已定義) else (echo 變量var1沒有被定義)set /p var2=請(qǐng)輸入一個(gè)數(shù)字:if defined var2 (echo 變量var2已定義) else (echo 變量var2沒有被定義)pause注意例11和例12哦:一個(gè)是%var2%而另一個(gè)是var2------------------------------------------------------------------------------------------------------

5、判斷上個(gè)命令的反回值

if errorlevel 數(shù)值 command 語句這個(gè)語句是用于判斷上一個(gè)命令執(zhí)行的返回值errorlevel,我們還是先來看看例子,例13?@echo off?net user?if %errorlevel% == 0 (echo net user 命令執(zhí)行成功) else (echo net user 命令執(zhí)行失敗)?Pause注意:%errorlevel% 這是個(gè)系統(tǒng)變量,所以用兩個(gè)%括起來,這里的==為兩個(gè)連續(xù)的=,也許有些朋友說我上面的例子是不是寫錯(cuò)了?按照語法應(yīng)該寫成“if errorlevel 0”才對(duì)的呀。如果你是這樣用的話,那你就錯(cuò)了,還真不信呀?OK,我們來設(shè)計(jì)個(gè)實(shí)驗(yàn)看看例14@echo off?set /p input=請(qǐng)輸入任意一條命令:?if errorlevel 0 (echo %input% 命令執(zhí)行成功) else (echo %input% 命令執(zhí)行失敗)pause用這種語法,不管你前面的命令,是否執(zhí)行成功,它都會(huì)認(rèn)為命令成功了。何解?if errorlevel 語句的特點(diǎn):當(dāng)使用 if errorlevel 0 cmmand 句式時(shí),它的含義是:如果返回的錯(cuò)誤碼值大于或等于0 的時(shí)候,將執(zhí)行cmmand操作;當(dāng)使用 if %errorlevel%==0 cmmand 句式時(shí),它含義是:如果返回的錯(cuò)誤碼值等于0 的時(shí)候,將執(zhí)行cmmand操作。一般上一條命令的執(zhí)行結(jié)果返回的值只有兩個(gè),"成功"用0 表示 "失敗"用 1 表示,實(shí)際上,errorlevel 返回值可以在0~255 之間,例如xcopy 默認(rèn)的errorlevel 值就有5 個(gè),分別表示5 種執(zhí)行狀態(tài):0 復(fù)制文件成功?1 未找到復(fù)制文件?2 用戶通過CTRL C 終止了xcopy操作?4 出現(xiàn)了初始化錯(cuò)誤 ?5 出現(xiàn)了磁盤寫入錯(cuò)誤------------------------------------------------------------------------------------------------------對(duì)于if 條件語句,常用的也就上面那5條吧,下面我們來看一下它的兩種格式:if條件語句的完整格式是:if 條件表達(dá)式 (語句1) else (語句2)?它的含義是:如果 條件表達(dá)式 成立,就執(zhí)行 語句1,否則,將執(zhí)行 語句2。? else后的 語句2 也可以不用括號(hào)括起。if條件語句的簡(jiǎn)單格式是:if 條件表達(dá)式 (語句)?它的含義是:如果 條件表達(dá)式 成立,將執(zhí)行 語句,否則,什么都不做。條件表達(dá)式后的 語句 也可以不用括號(hào)括起。例15@echo off?if exist "d:\123.txt" (del "d:\123.txt")pause你也可以寫成下面這樣例16@echo off?if exist "d:\123.txt" del "d:\123.txt"pause------------------------------------------------------------------------------------------------------

補(bǔ)充1:if not 語句

對(duì)于if 語句前面的5種基本語法,都可以加上not參數(shù),如1、if not "字符串1"=="字符串2" command 語句;2、if not數(shù)值1 equ 數(shù)值2 command 語句;3、If not exist filename command 語句;4、if not defined 變量 command 語句;5、if not errorlevel 數(shù)值 command 語句。在if 條件表達(dá)式 (語句) 語句,如沒有not參數(shù),默認(rèn)是判斷條件成立時(shí),執(zhí)行語句;如有not參數(shù),判斷條件失敗時(shí),執(zhí)行語句。我們看一下下面的例子:例17@echo offif exist "c:\" (echo C盤存在) else echo C盤不存在pause執(zhí)行后顯示:C盤存在例18@echo offif not exist "c:\" (echo C盤不存在) else echo C盤存在pause執(zhí)行后顯示:C盤存在不會(huì)吧,例18中執(zhí)行后顯示:C盤不存在,這簡(jiǎn)值是在說瞎話了,那到底是什么回事呢?if not exist "c:\" (echo C盤存在) else echo C盤不存在此語句中文意思:如果不存在C:\ 就執(zhí)行顯示C盤存在;否則<指的是存在C:\ 就執(zhí)行顯示C盤不存在。注:if exist 意為如果存在,那么if not exist就是如果不存在你的C盤當(dāng)然是實(shí)實(shí)在在存在的啦,根椐上面的中文分得知,那執(zhí)行例18后就顯示為:C盤不存在 通過分析例18,你應(yīng)該明白if語句中not參數(shù)是怎么用了吧!------------------------------------------------------------------------------------------------------

補(bǔ)充2:IF語句嵌套的寫法

我們先來看看例1@echo offset a=55if %a% geq 50 (if %a% geq 80 (if %a% geq 100 (echo a大于等于100?) else echo a小于100?) else echo a小于80?) else echo a小于50?pause這是一種比較規(guī)范的寫法,那這種寫法是怎樣寫的呢?那我們一步步的來:第一步:if %a% geq 50 ( ) else echo a小于50第二步:在第一步geq 50 后面的括號(hào)()里按兩下回車,主要是空兩行出來。if %a% geq 50 (?if %a% geq 80 ( )else echo小于80) else echo a小于50第三步:在第二步geq 80 后面的括號(hào)()里按兩下回車,主要是空兩行出來。if %a% geq 50 (?if %a% geq 80 (?if %a% geq 100 ( ) else echo a小于100)else echo小于80) else echo a小于50第四步:在第三步geq 100 后面的括號(hào)()里按兩下回車,主要是空兩行出來。if %a% geq 50 (?if %a% geq 80 (?if %a% geq 100 (echo a大于等于100) else echo a小于100)else echo小于80) else echo a小于50上面的代碼中,if %a% 和 )else 要適當(dāng)?shù)目s進(jìn),以達(dá)到寫書清晰!

總結(jié)

以上是生活随笔為你收集整理的3.1 if条件语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。