Использование SET для установки пустого значения переменной прекрасно работает в Windows XP.CMD скрипт. Однако одна и та же команда SET ведет себя по-разному в одном и том же интерпретаторе CMD при использовании непосредственно из командной строки:
Попытка проверить это в командной строке CMD.EXE:
C:\>set Q=
C:\>echo %Q%
%Q%
C:\>echo "%Q%"
"%Q%"
C:\>set Q=/Q
C:\>echo %Q%
/Q
C:\>echo "%Q%"
"/Q"
Попытка проверить это с.Сценарий CMD, как это:
set Q=
echo %Q%
echo "%Q%"
set Q=/Q
echo %Q%
echo "%Q%"
Запуск это:
C:\>c.cmd
C:\>set Q=
C:\>echo
ECHO is on.
C:\>echo ""
""
C:\>set Q=/Q
C:\>echo /Q
/Q
C:\>echo "/Q"
"/Q"
Что мне не хватает?
Это хорошая шутка от Редмонда, или есть какое-то вменяемое объяснение этой разницы?
Как я должен проверить строки из.Сценарий CMD, когда они ведут себя по-разному при использовании в командной строке?
Как правильно установить для переменной значение пустой строки в командной строке CMD и как мне ссылаться на эту переменную, чтобы получить эту пустую строку?