如果你正在寻找一个可以将输出存储在文本文件中的 PowerShell 命令,那么你很幸运。你将学会如何使用 PowerShell 的 `Out-File` 命令,以及它流行的 `Out-File -Append` 参数!
Out-File 是如何工作的?
这个 PowerShell 命令非常简单;它的唯一目的是接收输出并将其存储在文本文件中。
它旨在取代标准输出重定向操作符 (`>`)。即使在 DOS 时代,我们也可以将输出重定向到文件中。这个命令是 PowerShell 中的方法。
Out-File 命令通常用于 PowerShell 管道的末尾。它的唯一目的是将原始输出直接发送到文本文件中,不做任何考虑。只有很少的方法可以调整输出的编写方式。
将输出发送到文件
假设你有一个脚本,返回计算机上所有 Windows 服务的列表。当你运行 `Get-Service` 时,你会在控制台上收到你可能期望的所有对象。
但也许你想将该输出保存到文本文件中。Out-File 命令是一个很好的方法。你可以通过管道将几乎任何东西传递给它。
您可以在下面看到,Get-Service
的输出被发送到了创建了一个名为Services.txt的文本文件的命令,其中包含了您在控制台上看到的确切显示。
追加到文件
默认情况下,它会覆盖通过FilePath
参数提供的文本文件中的任何内容。但是,您可以使用Append
参数来覆盖此行为。
也许您正在将控制台输出累积到文件中,并希望追加文本而不是覆盖。Append
参数是您的好朋友。
通过使用Out-File -Append
参数,您可以看到,如果不使用它,则会覆盖C:\File.txt。但是,只要添加Append
参数,它就会将输出追加到末尾。
更改输出
默认情况下,此命令将尝试复制在控制台上显示的内容,但是有一些方法可以对其进行操作。例如,该命令具有NoNewLine
参数,仅删除所有换行符。
或者,您还可以使用Width
参数在每行的特定字符计数处截断文本。
结论

在实际情况下,此命令有效,但是有更好的方法将输出存储到文件中。
此命令不提供任何真正的选项来操作输出。它只是将输出保存为在控制台上显示的内容。此命令类似于仅将所有内容直接写入文本文件的PowerShell传输记录。