我在多个堆栈溢出帖子中看到,LOCAL 路径变量可以通过以下方式查看:
echo %Path%
但我想查看在 (Windows 10) 中找到的我的 SYSTEM 路径变量:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量... > 系统变量
有谁知道如何从命令行查看这些?如果系统变量已经回答了这个问题,请指出那个方向。
编辑:我正在运行一行检查变量是否存在,如果不存在,我将 Path 的值重置为所有旧变量,加上新变量。我只需要系统变量,不需要其他变量,因为当我存储当前变量和新变量时,我不希望附加任何其他不应属于我的系统环境变量的变量。
例如如果我要使用 echo %Path%
或 set %Path%
我可能会将局部变量存储在我的系统变量中。我宁愿不那样做。
最佳答案
这列出了四种类型的变量。在控制台中使用
cscript //nologo C:\pathto\script.vbs
请注意,有些变量未列出,这些变量列在 set
的帮助中 - 输入 set/?
。
Set WshShell = CreateObject("WScript.Shell")
Set wshsysEnv = WshShell.Environment("SYSTEM")
Wscript.echo "System"
For Each S In wshsysEnv
WScript.echo S
Next
Wscript.echo ""
Set wshsysEnv = WshShell.Environment("Volatile")
Wscript.echo "Volatile"
For Each S In wshsysEnv
WScript.echo S
Next
Wscript.echo ""
Set wshsysEnv = WshShell.Environment("User")
Wscript.echo "User"
For Each S In wshsysEnv
WScript.echo S
Next
Wscript.echo ""
Set wshsysEnv = WshShell.Environment("Process")
Wscript.echo "Process"
For Each S In wshsysEnv
WScript.echo S
Next
Wscript.echo ""
获取两个路径(新安装的windows用户路径为空,但软件可能会更改)
Set wshsysEnv = WshShell.Environment("User")
Wscript.echo "User"
For Each S In wshsysEnv
If lcase(left(S,5)) = LCase("PATH=") then WScript.echo S
Next
Wscript.echo ""
Set wshsysEnv = WshShell.Environment("System")
Wscript.echo "System"
For Each S In wshsysEnv
If lcase(left(S,5)) = LCase("PATH=") then WScript.echo S
Next
Wscript.echo ""
要仅获取开头没有“Path=”的系统路径,请使用此
Set WshShell = CreateObject("WScript.Shell")
Set wshsysEnv = WshShell.Environment("System")
For Each S In wshsysEnv
If lcase(left(S,5)) = LCase("PATH=") then WScript.echo right(S,Len(S)-5)
Next
Wscript.echo ""
https://stackoverflow.com/questions/37713120/