文章参照:http://blog.csdn.net/synior/archive/2010/09/21/5899666.aspx
一、if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
if { %1 }=={ } goto noparms
if { %2 }=={ } goto noparms
二、if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys
三、if errorlevel / if not errorlevel 数字
根据返回码和指定的数字进行比较来判断,如果条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
更多内容参照《关于if errorlevel 命令》
四、if 和else的组合
实例1:
if exist test.ini (
echo 存在 test.ini 文件
) else (
echo 不存在 test.ini 文件
)
五、 if defined 存在判断
if defined与if exist用法基本一样,但是if defined比if exist多一个用法,就是用来判断环境变量是否存在。
实例2:
@if defined name (
echo name is %name%
) else (
echo name is not initial
)
set name=robin
@if defined name (
echo name is %name%
) else (
echo name is not initial
)
Pause
六、字符串的比较
if的常规用法只能判断字符串“等于”和“不等于”,而不能判断“大于”,“小于”,或“大于等于”,“小于等于”等。但在启用命令扩展名后我们就可以判断这些了:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
对于字母和符号的比较,cmd会先将这些转换成ascii码后比较。我们就可以用来判断字母与字母,字母与数字的大小了,,如a lss b。
if后面加上/i的开关,在字母的比较中就不会区分大小写了,即,a与A是相等的。
在这里,if的其它用法与常规用法均相同。
注意:在默认情况下,cmd命令扩展名是被启用的
实例3:
@echo off
set str0=robin
set str1=hb
@if %str0% EQU %str1% (
echo the two string is the same
) else (
if %str0% LSS %str1% (
echo the %str0% is less than %str1%
) else (
echo the %str0% is big than %str1%
)
)
set str0=Robin
set str1=robin
@echo 如果不忽略大小写:
@if %str0% EQU %str1% (
echo the string %str0% and %str1% are the same
) else (
echo the string %str0% and %str1% are not the same
)
@echo 如果忽略大小写
@if /i %str0% EQU %str1% (
echo the string %str0% and %str1% are the same
) else (
echo the string %str0% and %str1% are not the same
)
Pause
七、 if cmdextversion number判断
if cmdextversion与if errorlevel用法也基本一样,多了一个比较:与命令扩展名有关联的内部版本号比较。这个知道就可以了,基本上没有用。
相关推荐
由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也 不会有效: IF EXIST filename. del filename. ELSE echo filename. missing 如果都放在同一行上,以下子句有效: IF EXIST filename. (del filename...
批处理BAT脚本中set和if命令的使用
批处理基础 FOR命令详解 批处理中的变量 set命令详解 if命令讲解 DOS编程高级技巧
批处理BAT脚本中for、set、if命令的使用
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...
、if exist 文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys 3、if errorlevel / if not errorlevel 数字 待执行的命令 如果 返回码等于...
python基础命令 Python基础命令 Python是一种高级编程语言,它具有简单易学、可读性强、可移植性好等特点,因此在各个领域都有广泛的... if命令 if命令用于条件判断。例如,我们可以使用if命令判断一个数是否大于10:
最近发现有些朋友一老问IF命令的用法,IF命令个人觉得很简单,所以就一直没把发放到新手教学贴里说,现在我给补上一文,希望对各位"非常BAT的"新手朋友们有所帮助
SHELL if命令参数介绍,方便学习shell命令的朋友,需要的朋友可以参考下
3、if errorlevel / if not errorlevel 数字 待执行的命令 如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。 如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码...
更新说明: 2017-02-04(yaya) Ls command: Empty Folder returns false. ...解决当命令行长度过长或批处理的参数过多时导致的内存冲突问题. 2013-03-19 1.新增连续命令分隔符";;",无阻碍顺序执行. 例子: set a...
oaxaca分解的stata命令,对不平等进行反事实分解
3、if errorlevel / if not errorlevel 数字 待执行的命令 如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。 如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码...
华为hcie示例,已通过。 使用ensp打开即可。 有修改均已在示例中注明。
kif命令的数据: : 我们将aliases和emojiAliases分开。 这样做的原因是因为当我们没有给定参数的基调时,我们想提出一些建议,但是我们的建议功能不适用于表情符号(它给出了真正的随机/无用的建议)。
第六章 if命令讲解 第一种用法:IF [NOT] ERRORLEVEL number command 第二种用法:IF [NOT] string1==string2 command 第三种用法:IF [NOT] EXIST filename command 第四种用法:IF增强的用法 第七章 DOS编程高级...
批处理if 命令示例详解 学习if 命令非常好的东西
DOS命令详解两本精典电子书。加一些自己收集的关于批处理的东东。
IF命令的示范代码!!适合初学者研究,IF相关语句!
第六章 if 命令讲解 第一种用法:IF [NOT] ERRORLEVEL number command 第二种用法:IF [NOT] string1==string2 command 第三种用法:IF [NOT] EXIST filename command 第四种用法:IF 增强的用法 第七章 DOS 编程...