WinCMD if命令(批處理Dos 大於、小於、等於)


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  更新時間:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM