为什么 powershell 不打印带换行符的 txt?

why is powershell not printing txts with line breaks?

所以我正在尝试显示用于自用的 powershell 脚本的命令。我正在使用一个 txt 文件作为列表的来源。 txt 文件的格式如下;

command (* is input)| description
----------------------------------------------------
pack                | opens folder pack
c * / cpp *         | copies mingw command to compile 
code                | reveals source
copy *              | copies input

现在;我有一个名为打印出此 txt 文件的函数,函数是这样的;

Function help{
 Write-Host (get-content -path {file-path})
  }

但是,在终端中,输出如下所示;

command (* is input)| description ----------------------------------------------------  pack           | opens folder pack * / cpp *                        | copies mingw command to compile  code

我该如何解决这个问题?

  • 不要使用 Write-Host 输出 data - 它用于 display 输出。

    • Write-Host 字符串化 Get-Content 输出的数组,这意味着 space 连接它的元素,因此是单行显示。
  • 使用Write-Output输出数据,或者更好的是,依靠PowerShell的implicit输出特性:

Function help {
  # Get-Content's output is implicitly output.
  Get-Content -path somefile.ext
}

有关详细信息,请参阅