проверка входной команды в dos командный файл?

Я запускаю входные аргументы как команду в моем пакетном файле dos, как я спросил в: Запустить входной параметр как команду в пакетном сценарии DOS. Это работает, однако проблема, с которой я столкнулся: проверка того, является ли команда ввода пустой. Что я делаю:

SETLOCAL
set CMD=%*
echo Running command [%CMD%]
IF "%CMD%"=="" (
 echo "Input argument missing: command"
 GOTO :end
)
echo "XXX %CMD%"

И запускаю:

script.bat echo "a b c"

Выводит:

Running command [echo "a b c"]
b was unexpected at this time.

Это происходит в условии ЕСЛИ, но почему?

Как я могу проверить, пуст ли мой ввод. Я знаю, как в досе проверить, пуста ли строка, но почему-то в этой комбинации это не работает :(
Кстати: если я удаляю условие IF, оно работает хорошо, то есть: команда выполняется правильно.

  • Эд

5
задан Community 23 May 2017 в 11:48
поделиться