曲径通幽论坛
标题:
if defined
[打印本页]
作者:
easy
时间:
2014-6-1 00:23
标题:
if defined
if defined 用来判断一个变量是否被定义,比如有:
@echo off
set a=10
if defined a (echo 变量a 被定义) else echo 变量a 未被定义
pause
复制代码
上面的 if 里使用了 else,那么之前的 echo 语句要用括号括起来,否则当 a 变量被定义时,会输出后面所有的内容( 变量a 被定义 else echo 变量a 未被定义)。
如果将 set 语句改写成 set a=,此时由于 a 没有一个赋值,它也会被认为是未定义的。
再看下面的例子:
@echo off
set "a=xyz"
set a=%a:~1%
if defined a (echo 变量a 被定义) else echo 变量a 未被定义
set a=%a:~1%
if defined a (echo 变量a 被定义) else echo 变量a 未被定义
set a=%a:~1%
if defined a (echo 变量a 被定义) else echo 变量a 未被定义
pause
复制代码
输出结果:
变量a 被定义
变量a 被定义
变量a 未被定义
请按任意键继续. . .
上面程序中,a 初始时被赋予一个字符串 xyz,此后每次移动一位,当移到最后时,变量 a 为空,此时再测试时,会看到“未定义”提示。也就是说,一个变量未定义,或者其值为空时,都会被认为是 undefined 。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2