PowerShell 显示环境变量,每个变量占一行。如果变量的值足够长,则会被截断并附加省略号:
> gci env:
Name Value
---- -----
<suppressed lines>
PSModulePath C:\Windows\system32\WindowsPowerSh...
<suppressed lines>
有没有办法一次性获取所有变量的完整值,就像在标准 cmd 提示符中一样?(给出的答案Powershell get-childitem env:path 返回省略的一行,如何有一些有用的东西?那么将不适用)。
答案1
默认格式截断,指定 -Wrap 并查看完整输出。
gci env: | Format-Table -Wrap -AutoSize
结果
PSModulePath C:\Users\KNUCKLE-DRAGGER\Documents\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
或者如果你希望输出准确模拟 cmd.exe,请尝试
cmd /c start /b set
结果
PSModulePath=C:\Users\KNUCKLE-DRAGGER\Documents\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
答案2
如果您想模拟set
powershell 的输出而不调用cmd
try:
dir env: | %{"{0}={1}" -f $_.Name,$_.Value}
需要输入很多内容,因此将其包装在一个函数中:
function set {dir env: | %{"{0}={1}" -f $_.Name,$_.Value}}