这次主要练习if命令。下面打开cmd,输入help if,看一下if命令的帮助吧,帮助很多,只截了一部分,因为后面的是命令扩展,很少用到。
从上图可以知道,IF 条件判断语句,有三种用户,格式如下:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
下面针对每一种用法,给出一个例子作为练习
1、if_1.bat,该批处理的功能是从命令行接收一个目录路径参数,然后执行cd命令转入该目录,如果成功转入目录,则打印成功。否则失败。
echo off
set DIR_PATH=%1
cd %DIR_PATH%
echo %ERRORLEVEL%
if ERRORLEVEL 1 goto LABEL_FAIL
if ERRORLEVEL 0 goto LABEL_SUCCESS
:LABEL_SUCCESS
echo "commond success."
goto END
:LABEL_FAIL
echo "commond fail."
goto END
:END
执行这个批处理,首先目录testDir不存在,执行if_1.bat testDir后,因为目录不存在,所以显示fail;然后使用mkdir testDir创建了这个目录,然后再执行命令,就成功转到testDir这个目录了,看下图的最后一行,当前路径已经变了,和执行批处理时不同了。
2、if_2.bat,该批处理文件从命令行接收两个参数,然后判断是否相等。
echo off
set param1=%1
set param2=%2
IF %param1%==%param2% goto eq
echo "not equal"
goto END
:eq
echo "equals"
goto END
:END
不多说了,执行脚本,看结果
3、if_3.bat,该脚本从命令行接收一个文件名作为参数,然后判断文件是否存在。
echo off
set file=%1
if exist %file% goto yes
echo "file not exist"
goto END
:yes
echo "file exist"
goto END
:END
执行脚本,结果显示如图
这三个脚本是不是觉得已经很有意义了,可以判断文件目录是否存在,字符串相等,文件是否存在。而且这里面多次用到了前面的goto命令。
是不是对脚本有兴趣了,努力吧。