在 cmd.exe 中设置或修改(系统范围的)环境变量

Ren*_*ger 13 command-line environment-variables

我正在寻找一种从命令行添加和/或修改和/或删除环境变量的便捷方法。特别是,我发现自己有时不得不在 cmd.exe 中添加一些变量。

如果有人向我展示了一种非 GUI 方式来修改(即:向其中添加新目录)%PATH%变量,我将不胜感激。

更改应该是永久性的,而不仅仅是在cmd会话期间。

小智 16

你可以使用 setx。

用户变量:

SETX PATH "%PATH%;C:\MyDir"
Run Code Online (Sandbox Code Playgroud)

系统变量:

SETX PATH "%PATH%;C:\MyDir" /M
Run Code Online (Sandbox Code Playgroud)

  • SETX 是 Windows Server 2003 资源工具的一部分。您可以将它添加到您的 system32 目录,或任何其他添加到您的路径(鸡蛋!)。 (2认同)

小智 8

使用 reg 命令直接操作注册表变量的老派方法很划算。这是你如何做到的:

reg add HKCU\Environment /v PATH /d "%addonpath%;%path%" /f
Run Code Online (Sandbox Code Playgroud)

将其放入名为 apath.bat 的单行脚本中,如下所示:

@echo off
reg add HKCU\Environment /v PATH /d "%~dp0;%path%" /f
Run Code Online (Sandbox Code Playgroud)

然后,您需要提供的只是您在调用脚本时添加的新目录的路径,并且您已拨入:

例如:apath.bat %addonpath%

虽然欣奇是对的。如果您使用的是 Vista 或更高版本,最好的方法是使用 SETX 命令,该命令旨在允许我们传播环境变量,而无需使用 reg 命令直接操作注册表的风险,如果您可以操纵足够的 ENV 变量来即时使用它。