2017-05-12 5 views
2

Wie kann ich eine Liste von Dateien durchlaufen, eine Operation ausführen und die Datei an einem neuen Speicherort mit einem Namen aus einer Liste speichern?Speichern von Dateien in einer Schleife mit dem generischen Dateinamen

Als Beispiel habe ich eine Liste von CSV-Dateien und eine Liste von neuen Namen, möchte ich eine einfache Operation für die CSV-Datei wie Ändern des Trennzeichens und speichern Sie jede Datei an einem neuen Speicherort mit einem neuen Namen aus der Liste der Namen. Wie kann ich den Speicherpfad und den neuen Namen korrekt einstellen?

$files = Get-ChildItem C:\folder\*.csv 
$te = Import-Csv C:\names.csv 
For ($i=0; $i -lt $te.Length;$i++){ 
    Import-Csv $file -Delimiter "|" | Export-Csv -Path C:\another_folder\$te[$i].csv -Delimiter "," 
} 

Um genau zu sein, das Problem ist, dass der Pfad zu speichern, nachdem die -Path Aussage falsch ist. Wie behebe ich das?

Antwort

1

Sie müssen nur Wrap der Pfad mit Anführungszeichen:

$files = Get-ChildItem C:\folder\*.csv 
$te = Import-Csv C:\names.csv 
For ($i=0; $i -lt $te.Length;$i++){ 
    Import-Csv $file -Delimiter "|" | Export-Csv -Path "C:\another_folder\$te[$i].csv" -Delimiter "," 
} 
Verwandte Themen