ใน Windows (เช่นรุ่น 10) คุณสามารถแสดงรายการตัวแปรสภาพแวดล้อมโดยใช้คำสั่ง
set
คุณจะแสดงรายการตัวแปรสภาพแวดล้อมที่เหมือนกันสำหรับผู้ใช้ทั้งหมดหรือเพียงแค่ตัวแปรสภาพแวดล้อมสำหรับผู้ใช้หรือเซสชันปัจจุบันได้อย่างไร
ใน Windows (เช่นรุ่น 10) คุณสามารถแสดงรายการตัวแปรสภาพแวดล้อมโดยใช้คำสั่ง
set
คุณจะแสดงรายการตัวแปรสภาพแวดล้อมที่เหมือนกันสำหรับผู้ใช้ทั้งหมดหรือเพียงแค่ตัวแปรสภาพแวดล้อมสำหรับผู้ใช้หรือเซสชันปัจจุบันได้อย่างไร
คำตอบ:
สิ่งต่าง ๆ มีความซับซ้อนมากกว่าที่ไมโครซอฟท์บางครั้งทำให้ดูเหมือน
ตัวแปรสภาพแวดล้อมจำนวนมากถูกเก็บไว้ในรีจิสทรี ซึ่งหมายความว่าคุณสามารถค้นหาได้โดยใช้reg
คำสั่ง
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
reg query HKCU\Environment
reg query "HKCU\Volatile Environment"
หากคุณตั้งค่าตัวแปรสภาพแวดล้อมของคุณเองอย่างถาวรโดยใช้setx variable value
คำสั่งคำสั่งนั้นจะถูกเก็บไว้ในรีจิสทรี
C:\>setx test removeme
SUCCESS: Specified value was saved.
C:\>reg query "HKCU\Environment"
HKEY_CURRENT_USER\Environment
Path REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
TMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
test REG_SZ removeme
หากคุณใช้set variable=value
คำสั่งตัวแปรจะพร้อมใช้งานทันที แต่ไม่ได้เก็บไว้ในรีจิสทรี คุณไม่สามารถใช้คำสั่งในรายการพวกเขาแม้ว่าพวกเขาจะแสดงโดยreg
set
ตัวแปรสภาพแวดล้อมชั่วคราวเหล่านี้ไม่คงอยู่หลังจากที่คุณจบเซสชันพรอมต์คำสั่ง
มีโครงสร้างที่ทำหน้าที่เหมือนตัวแปรสภาพแวดล้อมที่ไม่ได้จัดเก็บไว้ในรีจิสทรีด้วยวิธีนี้ ตัวอย่างเช่น:
echo %TIME%
refreshenv.cmd
ยูทิลิตี้ซึ่งเป็น 10 บรรทัดของรหัสและโดยทั่วไปจะสอบถามและรีเฟรชรายการรีจิสตรี
SET
คำสั่งแสดงตัวแปรแบบไดนามิกสิ่งแวดล้อม? ฉันพยายามค้นหาทุกอย่างที่ Build Tools ของ Microsoft ตั้งไว้ในระหว่างการใช้งานเพียงแค่ต้องการปกปิดฐานของฉัน
สำหรับเอาต์พุตแบบคลีนที่ไม่มีบรรทัดเพิ่มเติมและช่องว่างสีดำให้ใช้คำสั่งต่อไปนี้ในcmd.exe
:
ตัวแปรสภาพแวดล้อมของผู้ใช้:
FOR /F "tokens=1,3* skip=2" %G IN ('reg query HKCU\Environment') DO @echo %G=%H %I
ตัวแปรสภาพแวดล้อมโกลบอล (ระบบ):
FOR /F "tokens=1,3* skip=2" %G IN ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"') DO @echo %G=%H %I
มันทำงานได้ใน Windows 7-10 และส่วนใหญ่อาจเป็นรุ่นก่อนหน้าเช่นกัน
VS140COMNTOOLS REG_SZ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
VS140COMNTOOLS=C:\Program
พิมพ์ชุดคำสั่ง: echo% temp%
หากตัวแปรสภาพแวดล้อม "temp" มี "H: \ Users \ amacm \ AppData \ Local" Windows จะตอบกลับทันทีด้วยสิ่งต่อไปนี้:
H: \ Users \ amacm \ AppData \ Local
หากไม่มีตัวแปรสภาพแวดล้อมชื่อ "temp" Windows จะตอบกลับด้วยสิ่งต่อไปนี้:
% temp%
setx test removeme
นั้นบางสิ่งบางอย่างset test %test%
เพื่อให้คุณสามารถมีรายการตัวแปรทั้งหมดที่มีง่ายset
หรือไม่ ฉันคิดว่ามันเป็นไปได้ที่จะดำเนินการตามคำสั่งสคริปต์ / ชุดที่จะทำให้ทุกคนอย่างชัดเจนเมื่อมีการร้องขอ ...