2017-06-09 1 views
2

Ich bin ein Skript erstellen, das csv Dateien erstellt. Jeder csv hat einen anderen Satz von Feldern. Alles funktioniert gut, aber ich möchte die Ausgabe der Spaltenreihenfolge steuern. Ich habe eine Variable, die die Felder und die Reihenfolge enthält, in der ich sie haben möchte.Powershell: Verwenden einer Variablen für die Felder in Select-Objekt

Ich weiß, dass ich Select-Object verwenden kann, um dies zu steuern. Was ich tun möchte, ist dies:

$Fields = "ID,Field1,Field2,Field3,Field4" 
$Obj | Select-Object $Fields | Export-CSV -Path $OutputPath 

Statt dessen:

$Obj | Select-Object "ID","Field1","Field2","Field3","Field4" | Export-CSV -Path $OutputPath 

Da ich mehrere verschiedene Formate haben und möchte nur die Feldliste als Parameter an die Funktion übergeben, die Arbeit zu tun. Ist das möglich?

Antwort

3

Ja ist es absolut möglich.

Wenn Sie "ID,"Field1","Field2","Field3","Field4" übergeben, ist dies nur ein Array von Zeichenfolgen.

ein wörtliches Beispiel zeigen:

$Fields = "ID","Field1","Field2","Field3","Field4" 
$Obj |Select-object $Fields |export-csv -path $OutputPath 

Wie Sie den Wert $Fields während jeder Iteration zuzuweisen, sind Sie überlassen.

+0

Danke! Funktioniert perfekt. –

Verwandte Themen