【发布时间】:2011-07-16 16:43:52
【问题描述】:
是否可以从 Windows 的命令提示符列出 所有 环境变量?
相当于 PowerShell 的 gci env:(或 ls env: 或 dir env:)。
【问题讨论】:
-
有关每个的描述,请参阅ss64.com/nt/syntax-variables.html
标签: windows command-line environment-variables prompt
是否可以从 Windows 的命令提示符列出 所有 环境变量?
相当于 PowerShell 的 gci env:(或 ls env: 或 dir env:)。
【问题讨论】:
标签: windows command-line environment-variables prompt
只要做:
SET
您也可以使用SET prefix 来查看名称以prefix 开头的所有变量。
例如,如果您只想从环境变量中读取 derbydb,请执行以下操作:
set derby
...你会得到以下结果:
DERBY_HOME=c:\Users\amro-a\Desktop\db-derby-10.10.1.1-bin\db-derby-10.10.1.1-bin
【讨论】:
Jon 有正确的答案,但要详细说明一些语法糖......
SET | more
使您能够一次查看一页的变量,而不是全部,或者
SET > output.txt
将输出发送到文件 output.txt,您可以在 Notepad 或其他任何地方打开该文件...
【讨论】:
more,+1
列出 PowerShell 中的所有环境变量:
Get-ChildItem Env:
或者按照 user797717 的建议避免输出截断:
Get-ChildItem Env: | Format-Table -Wrap -AutoSize
来源:Creating and Modifying Environment Variables(Windows PowerShell 本周提示)
【讨论】:
for /f "tokens=1,2 delims==" ... 这样的东西,这变得非常复杂......
Get-ChildItem Env: | Format-Table -Wrap -AutoSize
gci env: 而不是Get-ChildItem Env:,更容易记住
只需从cmd 运行set。
显示、设置或删除环境变量。不带参数使用,set显示当前环境设置。
【讨论】:
你可以在cmd中使用SET
要显示当前变量,SET 就足够了
要显示某些变量,例如“PATH”,请使用SET PATH。
如需帮助,请输入set /?。
【讨论】:
不要浪费时间。在注册表中搜索:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
返回小于 SET 命令。
【讨论】:
REG_EXPAND_SZ 键。例如reg query "HKCU\Environment" 显示我的%TEMP% 变量取决于%USERPROFILE% 的值,因此如果该值发生变化,%TEMP% 的值也会发生变化。相比之下,SET 只返回 "C:\Users\mpag\AppData\Local\Temp"
正如其他答案中提到的,您可以使用set 列出所有环境变量或使用
set [environment_variable] 获取特定变量及其值。
set [environment_variable]= 可用于从工作区中删除变量。
【讨论】:
reg query HKEY_CURRENT_USER\Environment
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
SET
dir env:
【讨论】:
set 本身不适用于 Github Actions,但 reg query 可以!
如果要查看刚刚设置的环境变量,需要打开一个新的命令窗口。
使用 setx 变量设置的变量仅在未来的命令窗口中可用,在当前命令窗口中不可用。 (Setx, Examples)
【讨论】: