WinCMDif命令(批处理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>    //仅当由 运⾏的上⼀个程序返回等于或⼤于数字的退出代码时,才指定 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>  // 仅当与 的命令扩展功能相关联的内部版本号等于或⼤于指定的数字时,才指定 true 条件。第⼀个版本为1。当向命令扩展添加重⼤增强功能时,它会递增1。默认情况下, (禁⽤命令扩展时, cmdextversion 条件始终为 true,) 启⽤命令扩展。
defined <variable>    //如果定义了变量,则指定 true 条件。
<expression>    //指定要传递给 else ⼦句中的命令的命令⾏命令和任何参数。
/?    //在命令提⽰符下显⽰帮助。
注释:
如果在 if ⼦句中指定的条件为 true,则执⾏条件下的命令。如果条件为 false,则忽略 if ⼦句中的命令,
该命令将执⾏ else ⼦句中指定的任何命令。
当程序停⽌时,它将返回退出代码。若要使⽤退出代码作为条件,请使⽤ errorlevel 参数。
如果你使⽤定义的,则以下三个变量将添加到环境中: % errorlevel%、 % cmdcmdline% 和 % cmdextversion%。
% errorlevel%:展开为 errorlevel 环境变量的当前值的字符串表⽰形式。此变量假定尚没有名称为 ERRORLEVEL 的现有环境变量。
如果有,则会改为获取该 ERRORLEVEL 值。
% cmdcmdline%:扩展到 之前传递到 的原始命令⾏。这假设尚不存在名为 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  更新时间:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。