如何从cmd永久更新系统PATH变量?

时间:2014-06-14 11:51:02

标签: windows path cmd

我们可以使用setx讨论here

setx PATH "%PATH%;C:\Something\bin"

但是这个命令只能改为用户PATH变量而不是系统变量。

我们如何制作类似系统范围的命令?

enter image description here

5 个答案:

答案 0 :(得分:20)

键入setx /?以获取基本命令帮助。你很容易发现:

/M                     Specifies that the variable should be set in
                       the system wide (HKEY_LOCAL_MACHINE)
                       environment. The default is to set the
                       variable under the HKEY_CURRENT_USER
                       environment.

您需要从提升的命令提示符运行此命令。右键单击cmd快捷方式,然后选择Run as Administrator

E.g。

setx /M PATH "%PATH%;C:\Something\bin"

注意:

我们可能会破坏当前系统的PATH变量。确保在修改之前备份其值。

答案 1 :(得分:6)

来自powershell

setx /M PATH "$($env:path);c:\program files\mynewprogram"

答案 2 :(得分:0)

%PATH%的一个问题是它包含用户的路径。如果您不介意Powershell,则可以运行以下

$p = [Environment]::GetEnvironmentVariable("PATH", [EnvironmentVariableTarget]::Machine);
[Environment]::SetEnvironmentVariable("PATH", $p + ";C:\MyPath", [EnvironmentVariableTarget]::Machine);

答案 3 :(得分:0)

如果要在用户级别向 PATH 环境变量添加某个位置,请在命令行上使用以下命令:

setx PATH ^%PATH^%;"C:\Program Files\Something\bin"

为什么是奇怪的语法? 首先,您不想扩展系统 PATH 变量而是将其保留为符号,否则您将不会参与未来对系统 PATH 变量的添加。因此,您必须用 ^ 引用 % 字符。

如果在命令脚本中使用它,则必须使用双 %% 而不是 ^%。

" 将包含空格的字符串括起来。如果没有空格,则可以省略引号。

添加的字符串必须直接跟在没有空格的后面,因此整个内容形成了 setx 命令的单个参数。

答案 4 :(得分:0)

请参考Adding a directory to the PATH environment variable in Windows

append_user_path.cmd
append_system_path.cmd

- 两者都很好