Назад | Перейти на главную страницу

Переменная окружения

Я использую setx для установки переменной окружения.

Моя команда

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder\"

Но когда я проверяю, в моей системе установлено значение

C:\Program Files (x86)\Test Folder"

Путь не найден из-за цитаты.

Когда я использую эту команду для другой переменной среды, она устанавливается правильно без кавычек.

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder\File.lic"
C:\Program Files (x86)\Test Folder\File.lic

Может кто-нибудь объяснить мне, что я делаю не так?

Смотреть Вот

Некоторые команды (например, REG и FINDSTR) используют стандартный escape-символ \ (который используется в C, Python, SQL, bash и многих других языках). \ Escape может вызвать проблемы с путями к каталогам в кавычках, которые содержат обратную косую черту в конце, потому что закрывающая кавычка "в конце строки будет экранирована \".

В вашем случае другая обратная косая черта должна помочь

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder\\"

Не используйте в команде обратную косую черту в конце. Необязательно, чтобы имя пути интерпретировалось правильно.

Измененная команда будет выглядеть так:

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder"