Я использую 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"