Как проверить пустое значение в файле cmd?

у меня есть файл командной строки ниже. Мне нужно проверить пустое значение переменной. Я не предоставляю никаких аргументов командной строки.

@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. Кто-нибудь может помочь?

2 ответов


следующее должно сделать это:

if [%PASSWORD%] NEQ [] GOTO MyLabel

дополнительная информация:ss64.com.


использовать IF DEFINED variable без знаков процента вокруг переменной.

протестировано в XP (32bit) и 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)