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 更新时间: