Batch file 通过批处理文件附加注册表项

Batch file 通过批处理文件附加注册表项,batch-file,command-line,registry,Batch File,Command Line,Registry,有没有办法用批处理文件附加注册表项?说清楚一点,我不想替换密钥,我想添加它 例如: Key Location: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Change: C:\Windows;C:\Java To: C:\Windows;C:\Java;C:\Program Files (x86)\CFLAT 这是一个注册扩展,所以[~]不会工作,除非我做

有没有办法用批处理文件附加注册表项?说清楚一点,我不想替换密钥,我想添加它

例如:

Key Location:   HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 

Change:         C:\Windows;C:\Java

To:             C:\Windows;C:\Java;C:\Program Files (x86)\CFLAT
这是一个注册扩展,所以[~]不会工作,除非我做错了。

将此保存到
something.reg
。双击执行此操作,您将设置更改。这可能是覆盖,但我认为这是更好的主意

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v C:\Windows;C:\Java;C:\Program Files (x86)\CFLAT /t REG_SZ /f

还请看一看,可以阅读为什么最好使用命令SetX而不是
reg add
将文件夹路径添加到用户或系统
path
或将任何其他环境变量添加到用户或系统环境变量列表中。如果要添加的变量值包含
%
,SetX会自动将环境变量添加为
REG\u EXPAND\u SZ
,否则会将其添加为
REG\u SZ
。我发现一个PowerShell脚本可以工作。谢谢你的帮助。[Environment]::SetEnvironmentVariable(“Path”,$env:Path+;“C:\ProgramFiles(x86)\CFLAT”,[EnvironmentVariableTarget]::Machine)