【问题标题】:How to add a tab to a text file如何将选项卡添加到文本文件
【发布时间】:2013-07-27 19:36:34
【问题描述】:

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

【问题讨论】:

    标签: powershell text format


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      试试这样的:

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

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

      ... | ConvertTo-Csv -Delimiter "`t" -NoTypeInformation |
          Out-File "C:\path\to\output.txt" -Append
      

      【讨论】:

      • 非常有帮助。感谢您提供有关 ConvertTo-CSV cmdlet 的额外示例
      • 不要忘记接受/投票(点击答案左侧数字下方的复选标记以接受,点击数字上方的箭头进行投票)。
      【解决方案3】:

      显然你可以在 PowerShell 中使用 ``t` 作为选项卡。请参阅堆栈溢出问题Writing tabs to a file using PowerShell

      不过,大多数语言都支持\t

      【讨论】:

        【解决方案4】:

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

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

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

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

        foreach($servers as $server)
          echo implode("\t", $server) . "\n";
        

        【讨论】:

        • 应该是哪种语言?这不是 PowerShell 语法。在我看来更像 PHP。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-12
        相关资源
        最近更新 更多