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