[英]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.