有时 powershell 命令产生的输出比控制台窗口宽。发生这种情况时,它会将多余的内容折叠成“...”,以便所有内容都适合控制台的宽度。
下面是该命令的一个示例get-filehash
,但我猜想该问题适用于任何具有宽输出的命令:
如果我把屏幕变宽,它不会填充之前缺失的内容。相反,我必须把屏幕变宽,然后再次运行命令,并希望我把控制台弄得“足够宽”。如果命令需要很长时间,这非常烦人。看...
有什么办法可以强制 powershell总是给我一个未截断版本的输出?
如果可能的话,我想将其配置为默认执行此操作,这样我就不必记住将其传送到另一个冗长且难以记住的命令行。
...更新...根据评论中的建议,我尝试通过管道传输到Ft -wrap -autosize
,但仍然存在问题,我必须记住输入“ Ft -wrap -autosize
”
...更新2... 到目前为止,@postanote 答案中的一个选项| Format-List -Force
似乎是最好的。它需要最少的记忆和猜测......
答案1
您的屏幕缓冲区和 PS 默认格式化程序是造成此问题的根本原因。
不要默认显示表格。相反,强制显示为列表或使用自定义包装函数/模块。
# PS Default formatting
Get-FileHash -Path 'J:\MSBuild2018\BRK2100 .NET Overview & Roadmap-BRK2100_3000.mp4' -Algorithm SHA512
# Results
<#
Algorithm Hash Path
--------- ---- ----
SHA512 3C174CDB0D322382028F47635D8D929AD052360093423C9031B35D1870271146381... J:\MSBuild2018\BRK2100 .NET Overview & Roadmap-BRK2100_3000.mp4
#>
# Select the properties you want - PS Default formatting
Get-FileHash -Path 'J:\MSBuild2018\BRK2100 .NET Overview & Roadmap-BRK2100_3000.mp4' -Algorithm SHA512 |
Select-Object -Property Algorithm, Hash
# Results
<#
Algorithm Hash
--------- ----
SHA512 3C174CDB0D322382028F47635D8D929AD052360093423C9031B35D187027114638128E62156DCC8ABFB35464F2A5B5F460993915F7E1B35A7885B0C3C0D5A699
#>
# Use List formatting
Get-FileHash -Path 'J:\MSBuild2018\BRK2100 .NET Overview & Roadmap-BRK2100_3000.mp4' -Algorithm SHA512 |
Format-List -Force
# Results
<#
Algorithm : SHA512
Hash : 3C174CDB0D322382028F47635D8D929AD052360093423C9031B35D187027114638128E62156DCC8ABFB35464F2A5B5F460993915F7E1B35A7885B0C3C0D5A699
Path : J:\MSBuild2018\BRK2100 .NET Overview & Roadmap-BRK2100_3000.mp4
#>
Get-FileHash -Path 'J:\MSBuild2018\BRK2100 .NET Overview & Roadmap-BRK2100_3000.mp4' -Algorithm SHA512 |
Select-Object -Property Algorithm, Hash, Path |
Format-List -Force
# Results
<#
Algorithm : SHA512
Hash : 3C174CDB0D322382028F47635D8D929AD052360093423C9031B35D187027114638128E62156DCC8ABFB35464F2A5B5F460993915F7E1B35A7885B0C3C0D5A699
Path : J:\MSBuild2018\BRK2100 .NET Overview & Roadmap-BRK2100_3000.mp4
#>
Find-Module -Name '*wrap*'
# Results
<#
Version Name Repository Description
------- ---- ---------- -----------
...
1.0.1 TextWrapping PSGallery Commands for wrapping and unwrapping text.
...
1.0.1 FormatWrap PSGallery Formats the output as a text wrapping string.
...#>
答案2
另一种方法是通过管道传输到Out-String
并使用-Width
范围。
Get-FileHash <file> | Out-String -Width 200