在 powershell 中打印环境变量时如何不 trim 行?
How not to trim lines when printing environment variables in powershell?
根据this:
,我可以在 PowerShell 中打印环境
dir env:
所以我做到了,例如对于 Path
和其他比我的 window 更长的环境变量,我看到:
Path C:\Python39\Scripts\;C:\Python39\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;...
我不想...
,我想看到所有变量的环境变量值的全长。
我尝试阅读:https://superuser.com/questions/1049531/how-to-fix-truncated-powershell-output-even-when-ive-specified-width-300 并尝试 cd env: -Width 1000
,或尝试 cd env:
然后 Get-ChildItem -Width 1000
,它不起作用,并搜索了 google 但没有成功。 dir env: | Out-String -width 999
会导致无穷无尽的空行。有效的是 dir env: | cat
,但随后变量名称消失了。
有什么方法可以查看所有具有变量名称的环境变量的未截断值吗?
从字面上理解你的问题,如果你只想在控制台上查看环境变量及其未截断的值,你可以简单地将输出格式化为列表:
Get-ChildItem env: | Format-List
这将以下列方式显示信息,如果值比可用的长,则插入视觉换行符 space:
Name : PSModulePath
Value : C:\Users\{and so on}
out-string
在 Windows PowerShell 和 PowerShell Core 上的行为略有不同 - 看起来 PowerShell Core 使用 -Width
作为 maximum 宽度,而Windows PowerShell pads 每行到指定的宽度,因此您会看到每个环境变量由 lot 空格分隔。
PowerShell 核心
PS 7.1.3> dir env: | out-string -width 9999
Name Value
---- -----
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\Mike\AppData\Roaming
CommonProgramFiles C:\Program Files\Common Files
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
CommonProgramW6432 C:\Program Files\Common Files
Windows PowerShell
PS 5.1> dir env: | out-string -width 9999
Name Value
---- -----
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\Mike\AppData\Roaming
CommonProgramFiles C:\Program Files\Common Files
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
CommonProgramW6432 C:\Program Files\Common Files
(填充不按比例!)
它有点难看,但如果你想让 Windows PowerShell 输出看起来一样,你可以这样做:
PS> ((dir env: | format-table | out-string -width 9999) -split [System.Environment]::NewLine).Trim() -join [System.Environment]::NewLine
基本上,将输出分成多行,trim 然后再将它们重新组合在一起。
根据this:
,我可以在 PowerShell 中打印环境dir env:
所以我做到了,例如对于 Path
和其他比我的 window 更长的环境变量,我看到:
Path C:\Python39\Scripts\;C:\Python39\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;...
我不想...
,我想看到所有变量的环境变量值的全长。
我尝试阅读:https://superuser.com/questions/1049531/how-to-fix-truncated-powershell-output-even-when-ive-specified-width-300 并尝试 cd env: -Width 1000
,或尝试 cd env:
然后 Get-ChildItem -Width 1000
,它不起作用,并搜索了 google 但没有成功。 dir env: | Out-String -width 999
会导致无穷无尽的空行。有效的是 dir env: | cat
,但随后变量名称消失了。
有什么方法可以查看所有具有变量名称的环境变量的未截断值吗?
从字面上理解你的问题,如果你只想在控制台上查看环境变量及其未截断的值,你可以简单地将输出格式化为列表:
Get-ChildItem env: | Format-List
这将以下列方式显示信息,如果值比可用的长,则插入视觉换行符 space:
Name : PSModulePath
Value : C:\Users\{and so on}
out-string
在 Windows PowerShell 和 PowerShell Core 上的行为略有不同 - 看起来 PowerShell Core 使用 -Width
作为 maximum 宽度,而Windows PowerShell pads 每行到指定的宽度,因此您会看到每个环境变量由 lot 空格分隔。
PowerShell 核心
PS 7.1.3> dir env: | out-string -width 9999
Name Value
---- -----
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\Mike\AppData\Roaming
CommonProgramFiles C:\Program Files\Common Files
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
CommonProgramW6432 C:\Program Files\Common Files
Windows PowerShell
PS 5.1> dir env: | out-string -width 9999
Name Value
---- -----
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\Mike\AppData\Roaming
CommonProgramFiles C:\Program Files\Common Files
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
CommonProgramW6432 C:\Program Files\Common Files
(填充不按比例!)
它有点难看,但如果你想让 Windows PowerShell 输出看起来一样,你可以这样做:
PS> ((dir env: | format-table | out-string -width 9999) -split [System.Environment]::NewLine).Trim() -join [System.Environment]::NewLine
基本上,将输出分成多行,trim 然后再将它们重新组合在一起。