Kyl*_*let 3 windows cmd path batch-file
我在多个堆栈溢出帖子中看到可以使用以下方式查看本地路径变量:
echo %Path%
Run Code Online (Sandbox Code Playgroud)
但我想查看在(Windows 10)中找到的系统路径变量:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量... > 系统变量
有谁知道如何从命令行查看这些?如果系统变量已经回答了这个问题,请给我指出那个方向。
编辑:我正在运行一行来检查变量是否存在,如果不存在,我将 Path 的值重置为所有旧变量以及新变量。我只需要系统变量,不需要其他变量,因为当我存储当前变量以及新变量时,我不希望附加任何不属于我的系统环境变量的其他变量。
例如,如果我要使用echo %Path%或者set %Path%我可能将局部变量存储在我的系统变量中。我宁愿不这样做。
小智 5
这列出了四种类型的变量。在控制台中使用
cscript //nologo C:\pathto\script.vbs
Run Code Online (Sandbox Code Playgroud)
请注意,有些变量未列出,这些变量在set- type的帮助中列出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 ""
Run Code Online (Sandbox Code Playgroud)
获取两个路径(新安装的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 ""
Run Code Online (Sandbox Code Playgroud)
要仅获取开头不带“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 ""
Run Code Online (Sandbox Code Playgroud)