1 、
set var=Tom
if %var%==Tom echo It works
if %var%==Jerry echo We will never see this
如果变量 var 的值为 Tom Hanks ,即中间含有空格之类的特殊符号,那么我们在使用 if 时,就得为字符串加上双引号,就像 if "%var%"=="Tom Hanks" echo It works (注意,给字符串加上双引号后,在进行判断的时候会连双引号一起考虑进去。所以,为了使两边的对比均衡,所以一定要在 == 两边的两个字符串上同时都加双引号)。这里也体现了批处理程序语言格式的多样性(如果您熟悉 C 语言格式的话,就知道一串字符总是要被双引号引起来)。不过为了方便记忆,我们在使用 if 的时候,不妨总是在字符串上使用双引号,这样既好阅读,又不容易引起歧异。
::::::::::改变颜色.bat::::::::::
@echo off
echo 您希望字体的颜色是红色还是绿色?
:RETRY
set /p choice=请输入您的选择,R 或者 G :
if "%choice%"=="R" goto R
if "%choice%"=="r" goto R
if "%choice%"=="G" goto G
if "%choice%"=="g" goto G
goto RETRY
:R
color c
echo 您选择了红色字体
pause
exit
:G
color a
echo 您选择了绿色字体
pause
exit
2、
ielse 无法单独使用,必须与 if 配合连用。
:::::::::else的用法.bat:::::::::
@echo off
if "%TIME:~0,2%" lss "12" (
echo 现在是上午
) else (
echo 现在是下午
)
pause
3、此外,if 还有其他的用法—— if exist 和 if defined 。if exist 可判断文件是否存在,就像这样:
if exist "D:\test my folder\a.txt" (
del "D:\test my folder\a.txt"
) else (
echo 您所要删除的文件不存在
)
而对于 if defined 来说,与 if exist 类似,只不过 if defined 的判断对象不是文件,而是变量,它用于判断环境变量是否被定义。