中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 14:08
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教:如何判断输入的变量为空的。
可打印版本  4,437 / 19
第16楼 3742668 发表于 2006-12-11 07:02
荣誉版主 发帖 718 积分 2,013
判断变量是否为空建议采用if defined varName的格式,因为在很多场合若变量包含特殊的值可能导致if "var" == ""判断错误。
第17楼 yardian 发表于 2006-12-12 01:59
中级用户 发帖 85 积分 305
楼上的这种方法只能判断变量是否存在好像不能判断变量为空吧?我试了下:
set B=
if defined B (echo B dump) else (echo full)
结果显示full。能否详细说明一下?
第18楼 9527 发表于 2006-12-12 02:14
银牌会员 发帖 438 积分 1,185 来自 北京
defined 是判断变量是否被定义了,跟他是什么值无关,楼上的本来测试结果就是对的
@echo off&setlocal
set b=hello
set b
if defined b (echo YES) else (echo NO)
pause
set b=
set b
if defined b (echo YES) else (echo NO)
pause
第19楼 ccwan 发表于 2006-12-12 02:16
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
原来9527兄加盟肯德基了!^_^
第20楼 yardian 发表于 2006-12-12 02:23
中级用户 发帖 85 积分 305
Originally posted by 9527 at 2006-12-12 02:14 AM:
defined 是判断变量是否被定义了,跟他是什么值无关,楼上的本来测试结果就是对的
@echo off&setlocal
set b=hello
set b
if defined b (echo YES) else (echo NO)
p ...



自己把echo写反了。
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023