首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows用户环境变量与系统环境变量

Windows用户环境变量与系统环境变量
EN

Stack Overflow用户
提问于 2015-06-06 04:39:48
回答 2查看 12K关注 0票数 16

在Windows中,是否有shell/PowerShell命令可以分别列出用户环境变量和系统环境变量?

如果我这样做了-

代码语言:javascript
运行
复制
SET TEMP

Windows显示user环境变量,而不是TEMP的系统变量。

我正在寻找一个shell命令/开关来单独显示这些变量。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-06 05:05:42

在PowerShell中,没有用于它的cmdlet,但是您可以在Environment类中使用底层的.NET方法:

代码语言:javascript
运行
复制
Write-Host "Machine environment variables"
[Environment]::GetEnvironmentVariables("Machine")

Write-Host "User environment variables"
[Environment]::GetEnvironmentVariables("User")

# This should be the same as 'Get-ChildItem env:', although it isn't sorted.
Write-Host "Process environment variables"
[Environment]::GetEnvironmentVariables("Process")
票数 26
EN

Stack Overflow用户

发布于 2015-06-07 00:24:11

使用以下批处理文件:

代码语言:javascript
运行
复制
@echo off
for /f "tokens=3 usebackq" %%a in (`reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" ^| findstr TEMP`)  do @echo System variable TEMP = %%a
for /f "tokens=3 usebackq" %%a in (`reg query "HKEY_CURRENT_USER\Environment" ^| findstr TEMP`)  do @echo Current user variable TEMP = %%a

要从命令行使用,请将%%替换为%

输出:

代码语言:javascript
运行
复制
System variable TEMP = %SystemRoot%\TEMP
Current user variable TEMP = %USERPROFILE%\AppData\Local\Temp

请注意,HKEY_CURRENT_USER优先(但由于某些原因,在评估%TEMP%时,%USERPROFILE%会扩展为短名称):

代码语言:javascript
运行
复制
echo %USERPROFILE%
USERPROFILE=C:\Users\DavidPostill

echo %TEMP%
C:\Users\DAVIDP~1\AppData\Local\Temp
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30675480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档