在 powershell 中,当我调用 Get-ChildItem 或 gci 时,Mode 列强制将每个项目分成 2 行

在 powershell 中,当我调用 Get-ChildItem 或 gci 时,Mode 列强制将每个项目分成 2 行

典型的结果可能看起来像这样:

Mode           LastWriteTime       Length Name
----           -------------       ------ ----
d----     8/16/2018 11:07 AM        <DIR> .vscode
-
d----     8/16/2018 11:07 AM        <DIR> amazon-redshift-utils
-

我认为它应该是这样的:

Mode            LastWriteTime       Length Name
----            -------------       ------ ----
d-----     8/16/2018 11:07 AM        <DIR> .vscode
d-----     8/16/2018 11:07 AM        <DIR> amazon-redshift-utils

这是在一台新电脑上发生的 - 我记得几年前在旧电脑上也发生过这种情况,我已经修好了,但现在我找不到对它的参考。

答案1

我找到的答案是在我的配置文件脚本中 - 我在导入 posh-git 之前重命名了提示

我发现这个简单的命令有效果但我不知道为什么。

if(Test-Path Function:\Prompt) {Rename-Item Function:\Prompt PrePoshGitPrompt -Force}  # this seems to mess up my LS.

答案2

这并不是 PS 所特有的。

一般来说,控制台输出将根据屏幕分辨率或您定义的控制台宽度设置自动换行。

您还可以使用 ...

Format-Table -Autosize

...但是现在在宽屏输出时,它会按照您显示的方式列出,但会被截断。

OP 更新

检查你的控制台/编辑器设置。例如我的一个客户。

(Get-Host).UI.RawUI | Format-List -Property *

ForegroundColor       : DarkYellow
BackgroundColor       : DarkMagenta
CursorPosition        : 0,3
WindowPosition        : 0,0
CursorSize            : 25

BufferSize            : 180,3000
WindowSize            : 180,60
MaxWindowSize         : 180,73
MaxPhysicalWindowSize : 274,73

KeyAvailable          : False
WindowTitle           : Windows PowerShell

相关内容