批处理if:批处理if 命令详解

批处理(bat)if 命令详解

一、语法规则

1、if命令5钟用法

if "字符串1"=="字符串2" command 语句 #判断两个字符串是否相等if 数值1 equ 数值2 command 语句 #判断两个数值是否相等if exist filename command 语句 #判断判断驱动器,文件或文件夹是否存在if defined 变量 command 语句 #判断变量是否已经定义if errorlevel 数值 command 语句 #判断上个命令的返回值

2、语法注意事项

如果if后面判断为真后,只处理单句命令的话,直接跟在后面就可以

例如

if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt)

如果 判断为真后,需要执行多条命令的话,则需要用括号将多条命令扩起来。
注意: 括号“(” 要位于跟if 同一行,如果不在同一行的话执行时会报语法错误。

@echo offecho %1if "%1"=="ker" ( echo kernel echo kernel2 echo kernel3) else ( echo dtbc echo dtbc1 echo dtbc2 echo dtbc3)

二、各种示例

1、判断文件是否存在
##单语句直接可以这样写if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt)##多条语句必须这样写if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt)

判断文件存不存在,存在就执行,不存在则复制文件到目标再执行。可按需要改动里面的文件名,可为EXE、BAT、CMD、COM等执行文件。

判断+调用其他bat文件

@echo off if exist e:\123.bat goto st copy /y c:\123.bat e:\123.bat goto st:st start e:\123.bat exit

命令中首先判断当前目录中是否存在folder1,如果存在,打印“已经存在文件夹”;如果不存在就用md命令建立文件夹。

@echo off@title 批处理判断文件夹是否存在if exist folder1 ( echo "已经存在文件夹") else (md folder1)if not exist folder2 md folder2pause
判断字符串是否相等
if "abc"=="xyz" (echo 字符串abc等于字符串xyz) else (echo 字符串abc不等于字符串xyz)

执行后会要求你输入两个字符串,然后批处理判断它俩是否相同。在判断字符串是否相等的时候,if是会区分大小写

@echo offset /p var1=请输入第一个比较的字符:set /p var2=请输入第二个比软的字符:if "%var1%"=="%var2%" (echo 输入的两个字符相同) else echo 输入的两个字符不相同pause
判断两个数值是否相等
if 1 equ 2 (echo 1等于2) else (echo 1不等于2)
判断变量是否已经定义
if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为空)

不同机器使用cmd拷贝文件,思路是,先建立链接,然后映射网络驱动器,然后就可以拷贝了

net use z: \\192.168.2.112\C$ "wyzwyw" /USER:Administratorcopy 1.txt z:

套娃

@echo off@title copy sth to current filepathmode con lines=5 cols=40SET SourceFile=123.txtSET GenFile1=456.txtif exist %SourceFile% ( if not exist %GenFile1% (copy %SourceFile% %GenFile1%) else (echo %GenFile1% is exist!)) else ( echo %SourceFile% is not exist!)echo Successpause

相关推荐

相关文章