>我在下面有命令行文件。我需要检查变量的空值。我没有提供任何命令行参数。
@echo off
@set PASSWORD=
@set PORT=9001
@set command=START
if %PASSWORD% NEQ () GOTO MyLabel
:MyLabel
@set command=%command% -p%PASSWORD%
@set command=%command% -i%PORT%
@echo %command%
我尝试了几个选项,例如与空括号(()
),空字符串(""
)进行比较,但似乎没有任何效果。它在运行时为我提供以下输出:
()此时出乎意料。
我正在使用Windows 7 x32。谁能帮忙?
使用变量周围不带百分号的IF DEFINED variable
。
在XP(32位)和Win7 x64中测试:
SET PASSWORD=
IF DEFINED PASSWORD (echo PASSWORD = %PASSWORD%) ELSE (echo PASSWORD is empty or undefined)
IF DEFINED USERNAME (echo USERNAME = %USERNAME%) ELSE (echo USERNAME is empty or undefined)
以下操作应该可以:
if [%PASSWORD%] NEQ [] GOTO MyLabel
有关详细信息,请参阅 ss64.com。