我尝试添加到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环境变量没有问题?
答案 0 :(得分:3)
有两个持久性PATH变量,每个机器变量和每个用户变量。它们被附加在一起以产生实际的环境变量。 (此时也会扩展PATH中的环境变量。)
这就是为什么你要把路径翻倍,因为你已经设置了每用户持久变量来包含环境变量中的所有内容(已经包含了每台机器持久变量中的所有内容)。
您可以将setx与/ m参数一起使用来设置每台机器的持久变量,但这并不理想:
如果设置了每用户持久变量,其内容将被复制到每台机器持久变量中,这可能是不合适的;
如果持久变量引用其他环境变量,则引用将替换为这些变量的当前值。如果引用的变量发生更改,则PATH将不再遵循这些更改。 (说实话,不过,大多数情况下这并不重要:该功能并不常用。)
相反,请考虑使用专门用于操作路径的pathman
。您可以从Windows Server 2003 Resource Kit Tools下载获得pathman.exe
。
请注意,即使应用程序窗口被隐藏,如果有任何无响应的GUI应用程序正在运行,setx
和pathman
都可能会挂起。最大限度地降低此风险的最佳方法是在运行使用setx
或pathman
的任何脚本之前立即重启计算机。
答案 1 :(得分:2)
你应该使用setx命令和" / m"参数。