我正在运行for
循环来查询某些服务,然后将服务及其选定的属性输出到每个单独行上的文本文件中,其中每个属性由制表符分隔,但我没有想出了如何将标签添加到文本文件中。
例如,这是我代码中的当前字符串集:
write-output $server, $servicename, $status, $startname | out-file -append output.txt
我想将上面的字符串附加到 output.txt ,所以它会显示如下:
server1 <tab> servername <tab> status <tab> startname
server2 <tab> servername <tab> status <tab> startname
答案 0 :(得分:5)
“`t”会输出制表符。
答案 1 :(得分:5)
尝试这样的事情:
"{0}`t{1}`t{2}`t{3}" -f $server, $servicename, $status, $startname |
Out-File "C:\path\to\output.txt" -Append
如果您的输入数据是对象列表,您也可以使用Export-Csv
或ConvertTo-Csv
:
... | ConvertTo-Csv -Delimiter "`t" -NoTypeInformation |
Out-File "C:\path\to\output.txt" -Append
答案 2 :(得分:0)
显然你可以在PowerShell中使用``t`作为标签。请参阅Stack Overflow问题 Writing tabs to a file using PowerShell 。
大多数语言都支持\t
。
答案 3 :(得分:-1)
使用数组可以获得更大的灵活性。
假设您已将信息放入数组中。
$servers[] = array($server, $servicename, $status, $startname);
然后你可以用一个标签来破坏这些值,如下所示:
foreach($servers as $server)
echo implode("\t", $server) . "\n";