windows(bat(批处理):IF详解)
大家好,综合小编来为大家讲解下windows,bat(批处理):IF详解这个很多人还不知道,现在让我们一起来看看吧!
介绍了windows bat中IF语句的语法,包括3中的基本情况和扩展的IF语句。
1. IF IF not
如果和如果没有有3个场景:
IF [NOT] ERRORLEVEL number do command
IF [NOT] string1==string2 do command
IF [NOT] EXIST filename do command
NOT
指定仅当条件为假时,Windows才应执行此命令。
ERRORLEVEL number如果最后运行的程序返回的退出代码等于或大于指定的数字,则指定的条件为真。
String1==string2如果指定的文本字符串匹配,则指定的条件为真。
如果指定的文件名存在,则指定的条件为真。
命令如果条件满足,指定要执行的命令。如果指定的条件为FALSE,则该命令后面可以跟ELSE命令,它将在ELSE关键字之后执行该命令。
1.1 IF [NOT] string1==string2 do command
注意string,保持string1和string2的格式一致。
比如:
[python]
if '%1'=='a' format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms
1.2 IF [NOT] EXIST filename do command
如果有指定的文件,条件成立,运行命令,否则运行下一句。
如
[python]
1.
if exist config.sys edit config.sys
2.
if exist %1.obj link %1.obj
else pause edit %1.asm
3.
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
ELSE子句必须出现在同一行的IF之后
由于del命令需要以新行结束,因此以下子句将无效:
[python]
IF EXIST filename. del filename. ELSE echo filename. missing
因为ELSE命令必须与IF命令的结尾在同一行,所以下面的子句也
不会有效:
[python]
IF EXIST filename. del filename.
ELSE echo filename. missing
如果它们都在同一行上,则以下子句有效:
[python]
IF EXIST filename. (del filename.) ELSE echo filename. missing
1.3 IF [NOT] ERRORLEVEL number do command
如果返回代码等于指定的数字,则条件成立,命令运行;否则下一句就是跑。
For example, if error level 2 goes to x2
当一个DOS程序运行时,它会返回一个数字给DOS,这个数字叫做错误码errorlevel或返回码。常见的返回代码是0和1。
2.中频分机
如果启用了命令扩展,将会发生如下变化:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
(1) IF [/I] string1 compare-op string2 command
The comparison operation can be:
equal等于
NEQ-不等于
less不到
less小于或等于
GTR-大于
GEQ-大于或等于
/I开关(如果指定)指示要进行的字符串比较不区分大小写。
/I开关可以以IF的string1==string2的形式使用。这些比较是普遍的;原因是如果string1和string2都是由数字组成的,那么字符串就会被转换成数字进行比较。
(2)IF CMDEXTVERSION number command
CMDEXTVERSION 条件的作用跟ERRORLEVEL 的一样,除了它是在跟与命令扩展有关联的内部版本号比较。第一个版本是1.每次对命令扩展有相当大的增强时,版本号会增加一个。
命令扩展被停用时,CMDEXTVERSION 条件不是真的。
如果已定义环境变量,DEFINED 条件的作用跟EXIST 的一样,除了它取得一个环境变量,返回的结果是true.
如果没有名为ERRORLEVEL 的环境变量,%ERRORLEVEL%
会扩充为ERROLEVEL 当前数值的字符串表达式;否则,您会得到其数值。运行程序后,以下语句说明ERRORLEVEL 的用法:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
您也可以使用以上的数字比较:
IF %ERRORLEVEL% LEQ 1 goto okay
如果没有名为CMDCMDLINE 的环境变量,%CMDCMDLINE%将在CMD.EXE 进行任何处理前扩充为传递给CMD.EXE 的原始命令行;否则,您会得到其数值。
本文[高级伪原创标题]到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
关于安徽蚌埠地区大众CC的落地价格以及各车型的售价信息,以下是一些参考数据。请注意,这些价格可能会因市场...浏览全文>>
-
关于2023款安庆途铠的落地价格,具体金额会因地区、配置以及促销活动等因素有所不同。以下是一些参考信息供您...浏览全文>>
-
根据您的描述,生活家PHEV 2025款的价格确实有较大幅度的优惠,达到了历史最低点,这无疑提升了其性价比。不...浏览全文>>
-
途昂X是上汽大众推出的一款中大型SUV,以其豪华的内饰、宽敞的空间和强劲的动力受到广泛关注。如果你计划在安...浏览全文>>
-
截至2023年,天津滨海宝来是一款由一汽大众生产的紧凑型轿车。以下是一些常见的配置和大致的价格范围(具体价...浏览全文>>
-
在安徽安庆购买大众揽巡时,需要综合考虑车辆的价格、配置、优惠政策以及市场行情等因素,以确保购车过程顺利...浏览全文>>
-
途观X是大众汽车推出的一款跨界SUV,以其时尚的外观和较高的配置受到不少消费者的青睐。如果您在亳州地区考虑...浏览全文>>
-
关于天津滨海地区的宝来车型价格信息,以下是一些参考数据。请注意,这些价格可能会因市场波动、促销活动以及...浏览全文>>
-
安徽安庆的揽巡价格分析可以帮助您更好地了解这款车型的市场行情和购车优惠。以下是对揽巡价格的全方面分析:1...浏览全文>>
-
关于购买途观X的具体价格,以及如何选择适合自己的车型,以下是一份详细的选车秘籍全攻略。这份指南将帮助你了...浏览全文>>
- 生活家PHEV最新价格2025款,价格再创新低,性价比爆棚
- 安徽亳州途昂X多少钱?购车攻略与优惠全在这
- 天津滨海宝来价格,各配置车型售价全知晓
- 安徽安庆揽巡价格全分析,买车不踩坑
- 东莞ID.4 CROZZ新款价格2025款多少钱?选车秘籍与性价比大公开
- 28.5亿美元卖身腾讯音乐,是喜马拉雅最好的归宿
- 蚌埠途铠 2023新款价格大起底,买车超详细
- 天津滨海ID.6 CROZZ多少钱?不同配置性价比分析
- 安徽阜阳探影多少钱?经销商报价及市场优惠情况
- 安徽滁州途昂X多少钱 2025款落地价大揭秘,买车前必看
- 天津滨海探岳X多少钱 2024款落地价,买车前的全方位指南
- 天津滨海ID.6 X新款价格2023款多少钱?购车攻略助你轻松选车
- 济南途安L最新价格2022款,优惠购车,最低售价16.68万起
- 安徽滁州长安猎手K50新车报价2025款,最低售价18.29万起,现车充足
- 广汽传祺传祺向往M8试驾的流程是什么
- 江淮悍途EV预约试驾,畅享豪华驾乘,体验卓越性能
- 安徽池州ID.7 VIZZION多少钱?买车技巧与性价比全奉上
- 济南长安启源E07 2024新款价格,最低售价19.99万起现在该入手吗?
- 安徽安庆ID.4 CROZZ 2025新款价格,优惠购车,最低售价13.99万起
- 天津滨海大众CC落地价全解买车必看