你好,我想通过PHP脚本永久更新Path
环境变量。我知道putenv()
,但它不是永久的。我读了一些地方生成.reg
文件与以下内容。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment]
'PATH'='c:/abc/test/ImageMagick-6.7.8-Q8/convert.exe'
我已经生成了包含内容的文件。
当我运行这个文件时,它告诉我文件已经成功运行,并且包含在文件中的键值已成功添加到注册表中。但是当我去路径变量检查时,我的值不在那里:-(有人能告诉我为什么会这样吗?我用的是window 7
。但我的工作也必须与windows xp兼容。还是有其他方法来完成这个任务?
需要建议…
注册表中的PATH环境变量在创建进程时被复制到进程的环境中。
cmd.exe(命令窗口或shell)是一个独立的进程。您必须在shell中执行SET PATH=
来更改它。
如果你打开一个新的命令窗口,你应该有新的PATH设置。另请参见以编程方式将目录添加到Windows PATH环境变量
你好,我已经解决了这个问题。我通过创建.bat
文件解决了这个问题。.bat
文件的内容看起来像
@echo off
set KeyName=Path
set KeyValue="D:songs;%PATH%"
setx -m %KeyName% %KeyValue%
如果您想设置为system level for all users
,则使用 -m
。如果您希望它仅为当前用户设置,则删除-m
。上面的命令将在环境Path
变量中设置D:songs
。要运行此命令,您需要是系统的管理员。
如果这对任何一个有用的话,干杯:-)