[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
请随风版主测试以下代码
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set "ab cd= "
  4. set "var=ab cd"
  5. if defined !var! (echo ab cd 被定义了) else echo ab cd 没有被定义
  6. pause
复制代码
个人认为这里判断的是变量var而不是ab cd

[ 本帖最后由 zjw767676 于 2009-4-7 23:39 编辑 ]
有一种爱叫放弃

TOP

我的意思是这样不能判断变量ab cd是否为空!
引号已加,感谢指正!!!!
有一种爱叫放弃

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "ab cd="
  4. ::未赋值
  5. set "var= "
  6. if defined ab!var!cd (echo ab cd 被定义了) else echo ab cd 没有被定义
  7. pause
复制代码
显示没有定义
下面的代码无论是否赋值给ab cd都显示被定义了
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set "ab cd="
  4. set "var=ab cd"
  5. if defined !var! (echo ab cd 被定义了) else echo ab cd 没有被定义
  6. pause
复制代码
不知随风版主理解我的意思了吗?

[ 本帖最后由 zjw767676 于 2009-4-8 00:12 编辑 ]
有一种爱叫放弃

TOP

晕了,搞错了!
两次运行结果不一样!
是我这边出问题了!
麻烦随风版主了!
总结了下:
都是坏习惯惹的祸!
第一次测试时无意之中在=号后加了个空格
以为没赋值给变量!


再次感谢随风版主,今后一定改掉所有坏习惯!不能偷懒少了引号!

[ 本帖最后由 zjw767676 于 2009-4-8 00:24 编辑 ]
有一种爱叫放弃

TOP

返回列表