Out-String
将对象作为一系列字符串发送到主机。
语法
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
说明
cmdlet Out-String
将Windows PowerShell管理的对象转换为字符串数组。
默认情况下, Out-String
会累积字符串并将其作为单个字符串返回,但可以使用 Stream 参数直接Out-String
一次返回一个字符串。
此 cmdlet 用于在对象操作不太方便时像在传统 shell 中一样搜索和操作字符串输出。
示例
示例 1:将文本以字符串形式输出到控制台
PS C:\> Get-Content C:\test1\testfile2.txt | Out-String
此命令将 Testfile2.txt 文件的内容作为单个字符串发送到控制台。
它使用 Get-Content
cmdlet 获取文件的内容。
管道运算符 (|) 将内容发送到 Out-String
,后者将内容作为字符串发送到控制台。
示例 2:获取当前区域性并将数据转换为字符串
第一个命令使用 Get-Culture
cmdlet 获取区域设置。
管道运算符 (|) 将结果发送到 Select-Object
cmdlet,该 cmdlet 选择返回的区域性对象 Get-Culture
(*) 的所有属性。
然后,该命令将结果存储在 变量中 $C
。
第二个命令使用 Out-String
cmdlet 将 CultureInfo 对象转换为一系列字符串, (每个属性) 一个字符串。
它使用 InputObject 参数将 $C
变量传递给 Out-String
。
Width 参数被设置为每行 100 个字符,以防止发生截断。
PS C:\> $C = Get-Culture | Select-Object *
PS C:\> Out-String -InputObject $C -Width 100
这些命令获取当前用户的区域设置,并将该数据转换为字符串。
示例 3:使用对象
PS C:\> Get-Alias | Out-String -Stream | Select-String "Get-Command"
此示例演示了使用对象和使用字符串之间的差异。
该命令显示包含短语“Get-Command”的别名。
它使用 Get-Alias
cmdlet 获取一组 AliasInfo 对象, (当前会话) 中的每个别名一个。
管道运算符 (|) 将 cmdlet 的 Get-Alias
输出发送到 Out-String
cmdlet,该 cmdlet 会将对象转换为一系列字符串。
它使用 的 Stream 参数Out-String
单独发送每个字符串,而不是将它们串联成单个字符串。
另一个管道运算符将字符串发送到 Select-String
cmdlet,该 cmdlet 选择字符串中任意位置包含“Get-Command”的字符串。
如果省略 Stream 参数,该命令将显示所有别名,因为在Select-String
返回的单个字符串Out-String
中查找“Get-Command”,并且格式化程序将字符串显示为表。
参数
-InputObject
指定要写入字符串的对象。 输入一个包含对象的变量,或键入可获取对象的命令或表达式。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Stream
指示 cmdlet 单独发送每个对象的字符串。 默认情况下,每个对象的字符串都将作为单个字符串进行累积和发送。
若要使用 Stream 参数,请输入 -Stream
或其别名 ost
。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Width
指定输出的每一行中的字符数。 将截断任何额外字符,不换行。 Width 参数仅适用于正在设置格式的对象。 如果省略此参数,则由主机程序的特征确定宽度。 Windows PowerShell 控制台的默认值为 80(字符)。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
可以通过管道将 对象传递给 Out-String
。
输出
Out-String
返回它从输入对象创建的字符串。
备注
- 包含 Out 谓词的 cmdlet 不对对象进行格式设置;它们只呈现对象,并将对象发送到指定的显示目标。 如果将未格式化的对象发送给 Out cmdlet,该 cmdlet 会在呈现该对象之前,将它发送到格式化 cmdlet。
- Out cmdlet 没有用于提供名称和文件路径的参数。 若要将数据发送到 Out cmdlet,请使用管道运算符 (|) 将 Windows PowerShell 命令的输出发送到该 cmdlet。 还可以将数据存储在变量中,并使用 InputObject 参数将数据传递给 cmdlet。