Trong Windows (ví dụ: phiên bản 10), bạn có thể liệt kê các biến môi trường bằng lệnh
set
Làm thế nào để bạn liệt kê chỉ các biến môi trường giống nhau cho tất cả người dùng hoặc chỉ các biến môi trường dành cho người dùng hoặc phiên hiện tại?
Trong Windows (ví dụ: phiên bản 10), bạn có thể liệt kê các biến môi trường bằng lệnh
set
Làm thế nào để bạn liệt kê chỉ các biến môi trường giống nhau cho tất cả người dùng hoặc chỉ các biến môi trường dành cho người dùng hoặc phiên hiện tại?
Câu trả lời:
Mọi thứ phức tạp hơn một chút so với Microsoft đôi khi làm cho nó có vẻ.
Rất nhiều biến môi trường được lưu trữ trong Registry. Điều này có nghĩa là bạn có thể truy vấn chúng bằng reg
lệnh
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
reg query HKCU\Environment
reg query "HKCU\Volatile Environment"
Nếu bạn đặt vĩnh viễn biến môi trường của riêng mình bằng setx variable value
lệnh, nó sẽ được lưu trong sổ đăng ký nhưng không được cung cấp ngay lập tức.
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
Nếu bạn sử dụng set variable=value
lệnh, biến có sẵn ngay lập tức nhưng không được lưu trong sổ đăng ký. Bạn không thể sử dụng reg
lệnh để liệt kê chúng mặc dù chúng được hiển thị bởi set
. Các biến môi trường tạm thời này không tồn tại sau khi bạn kết thúc phiên nhắc lệnh.
Có các cấu trúc hoạt động giống như các biến môi trường không được lưu trữ trong sổ đăng ký theo cách này. Ví dụ:
echo %TIME%
refreshenv.cmd
tiện ích gồm 10 dòng mã và về cơ bản, nó truy vấn và làm mới các mục đăng ký
SET
lệnh hiển thị biến động môi trường? Tôi đang cố gắng tìm mọi thứ và mọi thứ mà Công cụ xây dựng của Microsoft thiết lập trong một phiên, chỉ muốn che đậy căn cứ của tôi.
Để đầu ra sạch không có thêm dòng và khoảng trắng, hãy sử dụng các lệnh sau trong cmd.exe
:
Biến môi trường người dùng:
FOR /F "tokens=1,3* skip=2" %G IN ('reg query HKCU\Environment') DO @echo %G=%H %I
Biến môi trường (hệ thống) toàn cầu:
FOR /F "tokens=1,3* skip=2" %G IN ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"') DO @echo %G=%H %I
Nó hoạt động trong Windows 7-10, và rất có thể trong các phiên bản trước đó.
VS140COMNTOOLS REG_SZ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
hiển thị như chỉ VS140COMNTOOLS=C:\Program
.
gõ lệnh batch: echo% temp%
Nếu biến môi trường "tạm thời" chứa "H: \ Users \ amacm \ AppData \ Local", Windows sẽ trả lời ngay lập tức như sau:
H: \ Users \ amacm \ AppData \ Local
Nếu không có biến môi trường có tên "temp", Windows sẽ trả lời như sau:
% tạm thời%
setx test removeme
sau đó một cái gì đóset test %test%
để bạn có thể có tất cả các biến được liệt kê với một đơn giảnset
? Tôi đã nghĩ rằng có thể thực hiện một tập lệnh / đợt để làm cho tất cả chúng rõ ràng theo yêu cầu ...