web-dev-qa-db-fra.com

Écriture d'onglets dans un fichier à l'aide de PowerShell

Je dois faire écho à une série d'éléments d'un tableau dans PowerShell, mais fournir différents délimiteurs entre les éléments, donc j'utilise;

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

Je dois être en mesure d'ajouter des tabulations et des espaces, comme vous pouvez le voir dans le code ci-dessus.

Quelle est la bonne façon d'écho de ces caractères dans un fichier? J'ai lu quelque part que "'t" pourrait être utilisé, mais cela ne semble pas fonctionner?

18
Andy Walker

Vous pouvez utiliser `t pour un caractère de tabulation dans une chaîne entre guillemets doubles. Vous pouvez également simplifier ce qui précède pour:

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

Pour joindre les champs désignés avec des onglets:

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