PowerShell:Env:避免截断环境变量

PowerShell:Env:避免截断环境变量

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

如果您想模拟setpowershell 的输出而不调用cmdtry:

dir env: | %{"{0}={1}" -f $_.Name,$_.Value}

需要输入很多内容,因此将其包装在一个函数中:

function set {dir env: | %{"{0}={1}" -f $_.Name,$_.Value}}

相关内容