WinCMD if命令(批處理Dos 大於、小於、等於)
語法:
if [not] ERRORLEVEL <number> <command> [else <expression>]
if [not] <string1>==<string2> <command> [else <expression>]
if [not] exist <filename> <command> [else <expression>]
擴展語法:
if [/i] <string1> <compareop> <string2> <command> [else <expression>]
if cmdextversion <number> <command> [else <expression>]
if defined <variable> <command> [else <expression>]
參數 說明
- not //指定僅當條件為 false 時才應執行該命令。
- errorlevel <number> //僅當由 Cmd.exe 運行的上一個程序返回等於或大於 數字的退出代碼時,才指定 true 條件。
- <command> //如果滿足前面的條件,則指定應執行的命令。
- <string1>==<string2> // 僅當 string1 和 string2 相同時,才指定 true 條件。 這些值可以是文本字符串或批處理變量 (例如 %1) 。 不需要將文字字符串括在引號中。
- 處於 <filename> //如果指定的文件名存在,則指定 true 條件。
- <compareop> //指定由三個字母構成的比較運算符,包括:/i //強制字符串比較忽略大小寫。 如果為, /i則可以使用的 string1==string2 形式if的/i。 這些比較是泛型的,因為如果 string1 和 string2 只包含數字,則會將字符串轉換為數字,並執行數值比較。
- 等於 -等於
- NEQ -不等於
- LSS -小於
- LEQ -小於或等於
- GTR -大於
- GEQ -大於或等於
- cmdextversion <number> // 僅當與 Cmd.exe 的命令擴展功能相關聯的內部版本號等於或大於指定的數字時,才指定 true 條件。 第一個版本為1。 當向命令擴展添加重大增強功能時,它會遞增1。 默認情況下, (禁用命令擴展時, cmdextversion 條件始終為 true,) 啟用命令擴展。
- defined <variable> //如果定義了 變量 ,則指定 true 條件。
- <expression> //指定要傳遞給 else 子句中的命令的命令行命令和任何參數。
- /? //在命令提示符下顯示幫助。
注釋:
- 如果在 if 子句中指定的條件為 true,則執行條件下的命令。如果條件為 false,則忽略 if 子句中的命令,該命令將執行 else 子句中指定的任何命令。
- 當程序停止時,它將返回退出代碼。 若要使用退出代碼作為條件,請使用 errorlevel 參數。
- 如果你使用 定義的,則以下三個變量將添加到環境中: % errorlevel%、 % cmdcmdline% 和 % cmdextversion%。
- % errorlevel%:展開為 errorlevel 環境變量的當前值的字符串表示形式。 此變量假定尚沒有名稱為 ERRORLEVEL 的現有環境變量。 如果有,則會改為獲取該 ERRORLEVEL 值。
- % cmdcmdline%:擴展到 Cmd.exe 之前傳遞到 Cmd.exe 的原始命令行。 這假設尚不存在名為 CMDCMDLINE 的環境變量。 如果有,則會改為獲取該 CMDCMDLINE 值。
- % cmdextversion%:展開為 cmdextversion的當前值的字符串表示形式。 這假設尚不存在名為 CMDEXTVERSION 的環境變量。 如果有,則會改為獲取該 CMDEXTVERSION 值。
- 在if之后,必須在命令所在的行上使用else子句。
示例:
if not exist product.dat echo Cannot find data file //顯示消息 "找不到文件,則找 不到數據文件" //格式化驅動器 A 中的磁盤,並在格式化過程中出現錯誤時顯示一條錯誤消息 :begin @echo off format a: /s if not errorlevel 1 goto end echo An error occurred during formatting. :end echo End of batch program. //從當前目錄中刪除文件 Product .dat,或在找不到 Product .dat 時顯示消息 IF EXIST Product.dat ( del Product.dat ) ELSE ( echo The Product.dat file is missing. ) //運行批處理文件后回顯 ERRORLEVEL 環境變量的值 goto answer%errorlevel% :answer1 echo The program returned error level 1 goto end :answer0 echo The program returned error level 0 goto end :end echo Done!
//在 ERRORLEVEL 環境變量的值小於或等於1的情況下切換到 ok 標簽 if %errorlevel% LEQ 1 goto okay
創建時間:2020.09.08 更新時間: