默认情况下,PowerShell 会在 80 个字符后换行输出消息(参见示例 1)。
示例 1:
Get-ItemProperty : Cannot find drive. A drive with the name 'HKLM' does not exi
st.
At /Users/me/here-is-a-very-long-path-that-will-ultimately-be-wrapped-after-80-
characters/myScript.ps1:34 char:19
示例 #2:
Get-ItemProperty : Cannot find drive. A drive with the name 'HKLM' does not exi st.
At /Users/me/here-is-a-very-long-path-that-will-ultimately-be-wrapped-after-80- characters/myScript.ps1:34 char:19
是否有一个命令行开关或配置设置允许覆盖此功能(如示例#2所示?)我正在寻找一种无需向现有脚本文件添加额外代码即可工作的解决方案,例如标志或全局设置。
答案1
控制台主机会将行换行以适应屏幕大小。您可以更改 Posh 控制台中的设置,也可以在脚本中将换行的输出重定向到文件 - 这样就不会出现换行。您还可以在脚本中更改窗口和缓冲区大小。请参阅:
$Host.UI.RawUI
但首先必须增加 buffer.width
另一种方法是最大化主机窗口,这是一个不错的功能但第 29+30 行需要删除前导空格。