[英]How can I view my SYSTEM environment variables in a command prompt?
我已经在多个堆栈溢出文章中看到可以使用以下命令来查看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 ""
您可以使用reg.exe。 仅显示所有系统路径:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v path
当您要在一行中显示每个路径时,这里是一小批:
@echo off
setlocal
for /f "tokens=2* delims= " %%d in ('REG query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH 2^>nul') do (
set "_REMAIN_=%%~e"
call :Sub1
)
exit /b 0
:Sub1
for /f "tokens=1* delims=;" %%d in ("%_REMAIN_%") do (
echo %%~d
set "_REMAIN_=%%~e"
if not "%%~e"=="" call :Sub1
)
exit /b 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.