【问题标题】:Writing tabs to a file using PowerShell使用 PowerShell 将选项卡写入文件
【发布时间】:2010-10-14 21:23:49
【问题描述】:

我需要在PowerShell中回显一个数组的一系列元素,但是在元素之间提供了各种分隔符,所以我使用了;

    Add-Content -Path $tempInputDir\testoutput.log -value ($($fields[0]) + "   "+
        $($fields[1])  + "    " + $($fields[2]) + " " + $($fields[3])    + "    "+
        $($fields[15]) + "    " + $($fields[17]))
}

我需要能够添加制表符和空格字符,正如您从上面的代码中看到的那样,我刚刚通过在双引号之间物理添加制表符和空格来完成此操作,但我确信这会导致问题行。

将这些字符回显到文件的正确方法是什么?我在某处读到“'t”可以使用,但这似乎不起作用?

【问题讨论】:

  • 传统上应该是 \t 对吧?
  • @jeffamaphone:在使用 `` 转义字符串中的字符的语言中,是的。并非所有语言都以这种方式工作。

标签: syntax powershell


【解决方案1】:

您可以使用`t 作为双引号字符串中的制表符。您还可以将上述简化为:

"$($fields[0])   $($fields[1])   $($fields[2]) $($fields[3])  $($fields[15])  $($fields[17])" | Add-Content $tempInputDir\testoutput.log

【讨论】:

【解决方案2】:

将指定字段与选项卡连接在一起:

[string]::join("`t", (0..3,15,17 | % {$fields[$_]}))

【讨论】:

  • 那是一个漂亮的单衬里。只是让我微笑。
  • 当您使用它时:[string]::join("`t", (0..3,15,17 | % {$fields[$_]}))跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 2018-09-05
  • 2020-07-29
相关资源
最近更新 更多