使用PowerShell将选项卡写入文件

And*_*ker 18 syntax powershell

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

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

我需要能够添加标签和空格字符,你可以从代码中看到上面我刚刚做了这个用双引号之间物理添加标签和空格,但我敢肯定,这将导致上下行问题.

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

Kei*_*ill 50

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

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

  • 转义序列就是我想要的.注意:这是反向撇号. (2认同)
  • 反撇号?它是ASCII 96(0x60).它名称为[*backtick*,*backquote*,*grave accent*](https://en.wikipedia.org/wiki/Grave_accent#Use_in_programming). (2认同)

dan*_*gph 26

要与标签一起加入指定字段:

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

  • 那是一个漂亮的单线.只是让我微笑 (2认同)
  • 当你在它时:[string] :: join("`t",(0..3,15,17 |%{$ fields [$ _]})) (2认同)