“科技教程:windowsbat(批解决):IF详解”
现在,越来越多的伙伴开始对windowsbat (批处理解决)感兴趣。 每天看起来很平静,谁都会发生各种各样的故事。 既然大家现在都想知道这样的新闻,既然现在大家都想知道批量解决),有兴趣的朋友请和我一起看
windows bat (批量解决)--if详细信息
摘要:本文介绍了windows bat语句的语法。 这包括3个基本情况和扩展的if语句
1.if不
if和if not有三种形势:
if错误编号命令
if非字符串1 = =字符串2 do命令
if [非]退出文件名do命令
非
仅当指定的条件为false时,windows才需要运行此命令。
errorlevel number如果上次执行的程序返回大于或等于指定数字的退出代码,则指定的条件为true。
string1==string2如果指定的复制字符串一致,则指定条件为true。
exist filename如果指定的文件名存在,则指定条件为true。
指定满足command条件时要执行的命令。 如果指定的条件为false,则命令后面跟着else命令。 此命令在else关键字之后执行。
1.1 if非字符串1 = =字符串2 do命令
观察为string,请使string1和string2的样式相同
例如:
电脑
if %1= = a格式器:
if { %1} = = {2}地球导航系统
if { %2} = = {2}地球导航系统
1.2 if非现有文件名文档命令
如果存在指定的文件,则条件成立,执行命令,否则执行以下语句。
例如
电脑
1.
ifexistconfig.sysedit配置. sys
2.
退出%1.对象链接%1.对象
电子通行编辑%1. ASM
3.
if退出文件名. (
戴尔文件名。
) else (
echo文件名.缺失。
)
else子句必须写在同一行的if之后
以下子句无效,因此del命令必须在新行结束。
电脑
ifexistfilename.Del文件名. Else Echo文件名.缺失
由于else命令必须与if命令的末尾位于同一行,因此下一节也必须位于
无效:
电脑
代表文件名.戴尔文件名。
ELSE ECho文件名.缺失
如果所有行都位于同一行上,则以下子句有效:
电脑
ifexistfilename.(戴尔文件名. ) else echo文件名.缺失
1.3 if错误编号命令
如果返回代码等于指定的数字,则条件成立,执行命令。 否则,将执行以下语句:
例如2个if错误等级2千兆位
dos程序将数字返回给dos,称为错误代码错误级别或返回代码。 一般的返回代码是0、1。
2. if扩展
如果启用了命令扩展,if将更改如下:
if [/I ]字符串1比较字符串2命令
if复杂版本编号命令
if定义可变命令
(1) if [/I ]字符串1比较字符串2命令
比较包括以下项目:
等于
不等于neq
比lss -小
leq -以下
大于GTR
geq -以上
/i开关(如果指定)要执行的字符串比较证明不分大小写。
/i开关可以以if的string1==string2的形式使用。 这些比较都是通用的; 因为如果string1和string2都由数字组成,则字符串将转换为数字,然后进行数字比较。
) if复杂版本编号命令
cmdextversion条件的作用与错误级别相同,但与命令扩展相关的内部版本号进行了比较。 第一个版本是1。 命令的扩展功能每增强一次,版本号就会增加一个。 如果禁用了命令扩展,则cmdextversion条件不为真。
如果定义了环境变量,则defined条件的工作方式与exist相同,除了获取环境变量以外,将返回true。
如果没有名为错误等级的环境变量,则为%错误等级%
扩展为errolevel当前数值的字符串表达式; 否则,就会得到那个数值。 运行程序后,以下语句将证明如何使用错误级。
转至分析器%错误级别%
:应答器0
echo程序硬件返回代码0
: answer 1
echo程序硬件返回代码1
也可以比较上述数值。
if %错误等级% leq 1谷歌关键
如果没有名为cmdcmdline的环境变量,%cmdcmdline%将扩展到在cmd.exe解析之前传播到cmd.exe的原始命令行。 否则,就会得到那个数值。
如果没有名为cmdextversion的环境变量,%cmdextversion%将扩展为cmdextversion的当前数字字符串表达式。 否则,就会得到那个数值。
免责声明:飞天目录网免费收录各个行业的优秀中文网站,提供网站分类目录检索与关键字搜索等服务,本篇文章是在网络上转载的,本站不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,本站的作者将予以删除。