通过cmd设置PATH环境变量

时间:2014-06-28 22:07:37

标签: windows cmd environment-variables

我尝试添加到PATH环境变量“; C:\ my_EXE”,这样我就可以通过cmd运行我放在那里的程序(Windows 8)。 我试过这个命令:

set PATH=%PATH%;C:\my_EXE

但它只更改了PATH环境变量,直到CMD窗口关闭。 我在Google上搜索了一下,我找到了这个命令:

setx PATH "%PATH%;C:\my_EXE"

应该永远设置它,但它也只能在CMD窗口关闭之前工作 它就是这样的:

[new PATH]=[old PATH]X2

它只出现在一个新的cmd而不是系统属性中(!= cmd,有我的新路径而不是X2的PATH)

为什么会这样? 如何设置PATH环境变量没有问题?

2 个答案:

答案 0 :(得分:3)

有两个持久性PATH变量,每个机器变量和每个用户变量。它们被附加在一起以产生实际的环境变量。 (此时也会扩展PATH中的环境变量。)

这就是为什么你要把路径翻倍,因为你已经设置了每用户持久变量来包含环境变量中的所有内容(已经包含了每台机器持久变量中的所有内容)。

您可以将setx与/ m参数一起使用来设置每台机器的持久变量,但这并不理想:

  • 如果设置了每用户持久变量,其内容将被复制到每台机器持久变量中,这可能是不合适的;

  • 如果持久变量引用其他环境变量,则引用将替换为这些变量的当前值。如果引用的变量发生更改,则PATH将不再遵循这些更改。 (说实话,不过,大多数情况下这并不重要:该功能并不常用。)

相反,请考虑使用专门用于操作路径的pathman。您可以从Windows Server 2003 Resource Kit Tools下载获得pathman.exe

请注意,即使应用程序窗口被隐藏,如果有任何无响应的GUI应用程序正在运行,setxpathman都可能会挂起。最大限度地降低此风险的最佳方法是在运行使用setxpathman的任何脚本之前立即重启计算机。

答案 1 :(得分:2)

你应该使用setx命令和" / m"参数。

相关问题