3

我正在运行一个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
4

4 回答 4

5

"`t"将输出一个制表符。

于 2013-07-27T19:41:15.633 回答
5

尝试这样的事情:

"{0}`t{1}`t{2}`t{3}" -f $server, $servicename, $status, $startname |
    Out-File "C:\path\to\output.txt" -Append

如果您的输入数据是对象列表,您也可以使用Export-Csvor ConvertTo-Csv

... | ConvertTo-Csv -Delimiter "`t" -NoTypeInformation |
    Out-File "C:\path\to\output.txt" -Append
于 2013-07-27T19:42:48.973 回答
0

显然,您可以在 PowerShell 中使用“t”作为选项卡。请参阅 Stack Overflow 问题Writing tabs to a file using PowerShell

大多数语言都支持\t

于 2013-07-27T19:39:55.110 回答
-1

使用数组提供了更大的灵活性。

假设您已将信息放入数组中。

$servers[] = array($server, $servicename, $status, $startname);

然后,您可以使用选项卡将值内爆,如下所示:

foreach($servers as $server)
  echo implode("\t", $server) . "\n";
于 2013-07-27T19:43:55.880 回答