К сожалению, у меня недостаточно репутации, чтобы комментировать или голосовать за текущие ответы, мне пришлось написать свои собственные.
Первоначально вопрос ОП гласил «переменная», а не «параметр», что очень запутало, тем более что это была ссылка номер один в Google для поиска, как проверить пустые переменные. После моего первоначального ответа Стефан отредактировал исходный вопрос, чтобы использовать правильную терминологию, но вместо того, чтобы удалить свой ответ, я решил оставить его, чтобы прояснить любую путаницу, особенно в случае, если Google все еще отправляет сюда людей для переменных: *
% 1 НЕ ПЕРЕМЕННО! ЭТО ПАРАМЕТР КОМАНДНОЙ ЛИНИИ.
Очень важное различие. Один знак процента с числом после него относится к параметру командной строки, а не к переменной.
Переменные устанавливаются с помощью команды set и вызываются с использованием 2-процентных знаков - один до и один после. Например% myvar%
Чтобы проверить пустую переменную, вы используете синтаксис «если не определен» (команды явно для переменных не требуют знаков процента), например:
set myvar1=foo
if not defined myvar1 echo You won't see this because %myvar1% is defined.
if not defined myvar2 echo You will see this because %myvar2% isn't defined.
(Если вы хотите проверить параметры командной строки, тогда я рекомендую обратиться к ответу jamesdlin.)