0

您好,我想Path通过 PHP 脚本永久更新环境变量。我知道,putenv()但这不是永久性的。我已经阅读了一些生成.reg具有以下内容的文件的位置。

 Windows Registry Editor Version 5.00
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
                    'PATH'='c:/abc/test/ImageMagick-6.7.8-Q8/convert.exe'

我已经生成了包含内容的文件。

当我运行此文件时,它显示文件已成功运行,并且包含在文件中的键值已成功添加到注册表中。但是当我去路径变量检查时,我的值不存在:-(任何人都可以告诉我为什么会这样。我正在使用window 7。但我的工作也必须与window xp兼容。或者有没有其他方法完成这个任务?

需要建议......

最好的祝福

4

2 回答 2

0

创建进程时,注册表中的 PATH 环境变量会被复制到进程的环境中。

cmd.exe(命令窗口或shell)本身就是一个进程。您必须SET PATH=在外壳内进行更改。

如果您打开一个新的命令窗口,您应该设置新的 PATH。另请参阅以编程方式将目录添加到 Windows PATH 环境变量

于 2013-03-18T11:49:16.570 回答
0

嗨,我已经解决了这个问题。我已经通过创建.bat文件解决了它。文件的内容.bat看起来像

 @echo off
 set KeyName=Path
 set KeyValue="D:\songs;%PATH%"
 setx -m %KeyName% %KeyValue%

-m如果您想将其设置为 ,则使用system level for all users。如果您希望它仅为当前用户设置,请删除-m. 上述命令将设置D:\songs在环境Path变量中。要运行它,您需要成为系统管理员。

干杯,如果这对任何人有用:-)

于 2013-03-18T14:07:18.243 回答