缩进 "Format-Table | Out-File"
Indent "Format-Table | Out-File"
好的,我 运行 查询了多台服务器。我的数据正在输出到格式如下的文本文件:
System Info
-Server1
-Section1
Some info for section1
Some more info for section1
-Section2
Some info for section2
Some more info for section2
-Section3
ID Type
1 Type1
2 Type2
每个新级别缩进 5 个空格,因此 -Server 行缩进 5 个空格,-Section 行缩进 10 个空格,一些信息行缩进 15 个空格...如果我的 table 行的格式为:
$Table | Select-Object @{n='ID';e={$_.id}}, @{n='Type';e={$_.type}} | Format-Table | Out-File $Output -Append
有没有办法让输出从第15个位置开始?
首先将 Format-Table
的输出传递给 Out-String
,以便您可以修改每一行。
$Table | Select-Object @{n='ID';e={$_.id}}, @{n='Type';e={$_.type}} |
Format-Table |
Out-String -Stream | # Output each line separately
ForEach-Object { ' ' * 15 + $_ } | # Indent by 15 spaces
Out-File $Output -Append
Out-String
参数-Stream
用于将每一行分别传给ForEach-Object
。默认情况下 Out-String
生成单个多行字符串,这将更难处理。
好的,我 运行 查询了多台服务器。我的数据正在输出到格式如下的文本文件:
System Info
-Server1
-Section1
Some info for section1
Some more info for section1
-Section2
Some info for section2
Some more info for section2
-Section3
ID Type
1 Type1
2 Type2
每个新级别缩进 5 个空格,因此 -Server 行缩进 5 个空格,-Section 行缩进 10 个空格,一些信息行缩进 15 个空格...如果我的 table 行的格式为:
$Table | Select-Object @{n='ID';e={$_.id}}, @{n='Type';e={$_.type}} | Format-Table | Out-File $Output -Append
有没有办法让输出从第15个位置开始?
首先将 Format-Table
的输出传递给 Out-String
,以便您可以修改每一行。
$Table | Select-Object @{n='ID';e={$_.id}}, @{n='Type';e={$_.type}} |
Format-Table |
Out-String -Stream | # Output each line separately
ForEach-Object { ' ' * 15 + $_ } | # Indent by 15 spaces
Out-File $Output -Append
Out-String
参数-Stream
用于将每一行分别传给ForEach-Object
。默认情况下 Out-String
生成单个多行字符串,这将更难处理。