使用 PowerShell 将输出导出到文件
多种脚本语言具有可让你将数据导出到文件的功能或方法。即使在早期的 MS-DOS 时代,传统的重定向运算符 (>
) 也可以方便地做到这一点。
本文将讨论如何将输出数据导出到文件、将数据添加到现有文件以及使用 PowerShell 操作输出。
PowerShell 中的 Out-File
命令简介
假设你有一个脚本,它返回你计算机上所有 Windows 服务的列表。当我们运行 Get-Service
时,你将收到你可能期望在控制台上的所有对象。
但也许我们想将该输出保存到文本文件中。Out-File
命令是一个很好的方法。
我们可以通过管道运算符管道几乎任何东西来使用 Out-File
。下面,我们可以看到脚本将 Get-Service
的输出发送到 cmdlet,它创建了一个名为 Services.txt
的文本文件,其中包含在控制台上的相同显示。
示例代码:
Get-Service | Out-File -FilePath C:\PS\Services.txt
Get-Content C:\PS\Services.txt
输出:
Status Name DisplayName
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application Layer Gateway Service
<SNIP>
使用 -append
参数附加到 PowerShell 中的文件
默认情况下,Out-File
命令会覆盖通过 -FilePath
参数提供的文本文件中的任何内容。但是,我们可以使用 -Append
参数覆盖此行为。
也许我们正在将控制台输出累积到一个文件中,并希望将文本附加到文件而不是覆盖。 -Append
参数是你最好的朋友。
如果我们不使用 Out-File -Append
参数,C:\PS\File.txt
内容将被覆盖。但是,只要我们添加 -Append
参数,它就会将输出附加到末尾。
示例代码:
'firststring' | Out-File -FilePath C:\PS\File.txt
Get-Content -Path C:\PS\File.txt
'secondstring' | Out-File -FilePath C:\PS\File.txt -Append
Get-Content C:\PS\File.txt
输出:
firststring
firststring
secondstring
在 PowerShell 中更改输出数据
默认情况下,此 cmdlet 将尝试复制控制台上显示的内容,但有一些方法可以对其进行操作。例如,cmdlet 有一个 -NoNewLine
参数,用于删除所有换行符。
示例代码:
Get-Service | Out-File -FilePath C:\PS\Services.txt -NoNewline
Get-Content C:\PS\Services.txt
输出:
Status Name DisplayName
------ ---- -----------
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application La
或者,我们可以使用 -Width
参数以特定字符数截断每一行的文本。
示例代码:
Get-Service | Out-File -FilePath C:\PS\Services.txt -Width 30
Get-Content C:\PS\Services.txt
输出:
Status Name DisplayName
------ ----- -----------
Stopped AJRouter Al
相关文章
在 PowerShell 中安装 NuGet 包
发布时间:2024/03/01 浏览次数:161 分类:编程语言
-
本文将了解发生错误的原因以及安装适用于 PowerShell 的 NuGet 提供程序的分步指南。
在 PowerShell 中 Ping 主机名列表和输出结果到 CSV
发布时间:2024/03/01 浏览次数:53 分类:编程语言
-
本教程将教你 ping 主机名列表并将结果输出到 PowerShell 中的 CSV。
以管理员身份运行 PowerShell 脚本
发布时间:2024/03/01 浏览次数:87 分类:编程语言
-
本文将展示如何在不输入管理员凭据的情况下以管理员权限运行 powershell 脚本。如果代码片段未在提升的 Windows PowerShell 中运行,则以下脚本将自行提升你的脚本。
使用 Windows PowerShell 启动进程
发布时间:2024/03/01 浏览次数:58 分类:编程语言
-
本文将解释 Start-Process cmdlet 是什么以及参数如何与 cmdlet 一起使用。本文还展示了使用 Start-Process cmdlet 的好处
使用 PowerShell 远程处理执行命令
发布时间:2024/03/01 浏览次数:144 分类:编程语言
-
本文将讨论 PowerShell 远程处理的工作原理、几个 PowerShell 远程处理命令,以及我们如何将其投入实际使用。我们还将区分它与许多类似 cmdlet 的优势。
在 PowerShell 中获取远程计算机上的注册表
发布时间:2024/03/01 浏览次数:109 分类:编程语言
-
本文将讨论如何在远程计算机上调用表达式、获取注册表值,以及如何将它们结合起来以在远程计算机上获取注册表值。