Автоматическое добавление папки в PATH (переменная среды) с помощью Batch/Node.js

#windows #batch-file #cmd #system #environment

#Windows #пакетный файл #cmd #система #Окружающая среда

Вопрос:

Я пытаюсь создать программу CLI (в основном компилятор, подобный node) и создаю установщик, проблема в том, что я не могу добавить папку в Path, я пытался с:

 set PATH="%PATH%;F:n-compile"
  

Затем я перешел к

Control Panel >> Sytem and Security >> System >> Advanced system settings >> Environment Variables >> PATH >> Edit... и я не вижу F:n-compile ни системы, ни ПУТИ Пользователя. Я пытаюсь заставить его делать это автоматически, как установщик будет делать с Bash, если у кого-то есть решение, которое я мог бы использовать для этого Node.js это тоже было бы очень полезно.

Комментарии:

1. Ну, для начала, ваша команда set PATH="%PATH%;F:n-compile" неверна, вероятно, она должна была быть, Set "Path=%Path%F:n-compile;" , чтобы двойные цитаты не были включены. Однако Set переменные определяются или отменяются только локально, т. Е. В контексте cmd.exe сеанса, в котором он выполняется. Чтобы создать переменную для сохранения вне этого cmd.exe сеанса, взгляните на setx команду. Откройте командную строку, введите setx /? , нажмите [ENTER] клавишу и прочитайте представленную информацию.

2. @Compo Так это должно выглядеть SETX PATH "%PATH%;F:n-compile" ?

3. SETX PATH "%PATH%;F:n-compile" для меня все отлично сработало, спасибо!

4. Я сказал вам прочитать представленную информацию! %Path% Значение вашей переменной уже должно заканчиваться на ; so, которое вы должны использовать %PATH%F:n-compile; . Однако я добавлю, что вы никогда не должны использовать setx with %Path% . В отличие от других переменных, %Path% представляет собой объединение имен как системных, так и пользовательских переменных среды Path . Мой совет заключается в том, что вы не используете правильный метод как часть вашей установки, чтобы сделать это; и мое мнение таково, что вам никогда не следует добавлять что-либо в среду, если вы сначала не сообщите конечному пользователю и не предложите им возможность отказаться.

5. То, что вы делаете, неправильно! Я сказал вам не использовать его. Вы никогда не должны разрешать какой-либо код, который делает это на чужом компьютере или даже на своем собственном, с более чем одним пользователем .