PowerShell Out-String
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍PowerShell中的Out-String cmdlet。此cmdlet将输入对象转换为字符串。它对于格式化和文本处理非常有用。
Out-String基础知识
Out-String cmdlet将PowerShell对象转换为字符串。默认情况下,它会保留原始输出的格式。当您需要将对象数据作为纯文本处理时,这很有帮助。此cmdlet可以处理单个对象或集合。
Out-String基本用法
使用Out-String的最简单方法是将对象通过管道传递给它。这将对象转换为它们的字符串表示形式。输出会保留默认格式。这对于将输出保存或作为文本处理很有用。
Get-Process | Out-String
此命令检索所有进程并将其转换为字符串。输出看起来与默认的控制台显示相同。区别在于它现在是字符串对象而不是进程对象。
Out-String与-Width参数
-Width参数控制输出的行宽。默认情况下,PowerShell使用控制台宽度。您可以指定不同的宽度来控制文本换行。这对于一致的格式很有用。
Get-Process | Format-Table -AutoSize | Out-String -Width 120
此命令将进程格式化为表,并将输出宽度设置为120个字符。-AutoSize参数可确保列适合其内容。宽宽度可防止输出中出现不必要的换行。
Out-String与-Stream参数
-Stream参数逐行输出字符串,而不是作为一个字符串输出。这会创建一个字符串数组,每行一个。当您需要逐行处理输出时,这很有用。每行成为一个单独的数组元素。
Get-Service | Out-String -Stream
此命令将服务信息转换为字符串数组。您现在可以单独处理每一行。输出可以传递给其他处理字符串数组的cmdlet。
Out-String与Format-List
将Out-String与Format-List结合使用可创建详细的文本输出。这以列表格式显示对象的所有属性。结果是一个包含格式化信息的字符串。这对于报告很有用。
Get-Process -Name "notepad" | Format-List * | Out-String
此命令获取记事本进程,并将所有属性格式化为列表。Out-String将其转换为字符串。输出以文本形式包含详细的进程信息。
Out-String用于文件输出
Out-String通常在将输出保存到文件时使用。它确保文件包含正确格式化的文本。您可以将字符串输出通过管道传递给Out-File。这将创建一个包含命令结果的文本文件。
Get-Service | Out-String | Out-File services.txt
此命令将服务信息保存到文本文件。Out-String首先将对象转换为字符串。文件将包含您在控制台中看到的相同格式化输出。
Out-String与Select-Object
您可以将Out-String与Select-Object结合使用来创建自定义文本输出。这允许您选择要包含的特定属性。结果是一个仅包含所选属性的字符串。这对于创建有针对性的报告很有用。
Get-Process | Select-Object Name, CPU, Id | Out-String
此命令仅选择进程的Name,CPU和ID属性。Out-String将其转换为格式化的文本输出。结果是更简洁,更集中的进程信息显示。
Out-String与自定义格式
为了完全控制输出格式,请将格式化cmdlet与Out-String结合使用。您可以创建具有特定列宽和标题的表。最终输出是一个完美格式化的文本块。这非常适合专业报告。
Get-Process | Format-Table @{Label="Process";Expression={$_.Name};Width=30},
@{Label="PID";Expression={$_.Id};Width=10},
@{Label="CPU(s)";Expression={$_.CPU};Width=10} | Out-String
此命令创建进程信息的自定义格式化表。每列都有特定的宽度和标题。Out-String将其转换为文本字符串。输出整齐对齐且专业。
来源
在本文中,我们介绍了PowerShell中的Out-String cmdlet。
作者
列出 所有 PowerShell 教程。