2

Я пытался сделать следующее

set PATH=
echo foo%PATH%bar

и я получаю

foo%PATH%bar

если я добавлю пробел после знака = в наборе, я получу

foo bar

Я тоже пробовал

set PATH=""

и я получаю

foo""bar

Что я хочу это

foobar

Подобные вопросы в Интернете не решили проблему. Видимо, если не определено, поведение должно быть, как я ожидаю, но это не так.

1 ответ1

1

Как я могу проверить, если переменная не определена?

Я пытался сделать следующее:

set PATH=
echo foo%PATH%bar

и я получаю:

foo%PATH%bar

Вы можете использовать, if not defined для получения желаемого результата.

Используйте следующую команду в оболочке cmd :

if not defined PATH (echo foobar) else echo foo%path%bar

Пример вывода:

F:\test>set PATH=

F:\test>if not defined PATH (echo foobar) else echo foo%path%bar
foobar

F:\test>

и если PATH определен:

F:\test>if not defined PATH (echo foobar) else echo foo%path%bar
fooC:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\apps\Calibre\;;C:\apps\NTP\bin;C:\Program Files (x86)\QuickTime\QTSystem\bar

F:\test>

---

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .