VBScript - 修改 Windows 环境变量

VBScript - Modify Windows Env Variables

我目前使用批处理文件覆盖一些环境变量以使游戏可移植。

主要如下:

Set USERPROFILE = %CD%

这仅在该会话或从批处理加载的程序中有效。所以当我通过它加载游戏时:

Start "" "FL.exe"

游戏将“我的文档”、“我的图片”和“AppData”文件夹视为在我的游戏文件夹中。

能否在 VBScript 中完全复制此功能?

是的,通过 WshShell.Environment 对象。您可以在系统、用户和进程级别查询、添加和删除环境变量。

例如:

Set objShell = CreateObject("WScript.Shell")
Set objProcessVars = objShell.Environment("process")

' Query existing environmental variables...
For Each objVar In objProcessVars
    WScript.Echo objVar
Next

' Add/Override a process-level variable...
objProcessVars("USERPROFILE") = "C:\Test"

' Spawned processes inherit your process-level variables...
objShell.Run "C:\AnotherScript.vbs"

' When script terminates, changes are lost.