您好,我想通过PHP脚本永久更新Path
环境变量。我知道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
。但我的工作也必须与窗口xp兼容。或者还有其他方法可以完成这项任务吗?
需要建议......
最好的问候
答案 0 :(得分:0)
创建进程时,注册表中的PATH环境变量将复制到进程的环境中。
cmd.exe(命令窗口或shell)本身就是一个进程。你必须在shell中SET PATH=
来改变它。
如果打开新的命令窗口,则应设置新的PATH。另请参阅Programmatically adding a directory to Windows PATH environment variable
答案 1 :(得分:0)
您好我已经解决了这个问题。我通过创建.bat
文件解决了这个问题。 .bat
文件的内容类似于
@echo off
set KeyName=Path
set KeyValue="D:\songs;%PATH%"
setx -m %KeyName% %KeyValue%
如果您要将其设置为-m
,则使用 system level for all users
。如果您只想为当前用户设置,请删除-m
。上面的命令会在environement D:\songs
变量中设置Path
。要运行它,您需要成为系统的管理员。
如果这对任何人都有用,请加油: - )