it-wurzel
Goto Top

Aus dem Inhalt einer Datei (CSV) Dateien suchen und umbenennen

Hallo liebe Community,

für mein Problem benötige ich von Euch Hilfe und wäre für einen Lösungsansatz sehr dankbar.
Ich habe eine Datei (txt oder csv) je nachdem wie ich diese formatieren würde (für einen Lösungsansatz), und in dieser Date stehen (als csv, z.B. an 9. Stelle und an 10. Stelle) die ein Email-Adresse, bzw. eine Personalnummer.
Jetzt habe ich Dateien die gleich der Personalnummern (in einem Ordner) sind und möchte diese (z.B. user1@firma.com / 0815 - Dateiname 0815.jpg) anstelle der Personalnummer mit dem Emailnamen versehen (z.B. aus email:user1@firma.com und Personalnummer:0815 soll dann user1@firma.com.jpg werden).

Was wäre ein möglicher Lösungsansatz?

Vielen Dank und ein schönes Restwochenende.

Gruß,
Mario

Content-ID: 246697

Url: https://administrator.de/contentid/246697

Ausgedruckt am: 13.11.2024 um 06:11 Uhr

colinardo
Lösung colinardo 17.08.2014, aktualisiert am 18.08.2014 um 10:26:56 Uhr
Goto Top
Hallo Mario,
wenn du deine CSV z.B. so formatieren würdest (inklusive Überschriften[die werden im Code für den Zugriff auf die Spalten verwendet]) , also im Standard-CSV-Format:
"name";"personalnummer";"email"
"Max Mustermann";"123456";"max@muster.local"
"Brigitte Musterfrau";"789012";"brigitte@demo.local"
dann könntest du mit folgendem Powershell-Code deine Umbenennung der Dateien in einem angegebenen Ordner vornehmen:
(Ordner und CSV File in Zeile 1 und 2 angeben)
$folder = "C:\temp\files"  
$csvFile = "C:\temp\daten.csv"  
$csv = import-csv $csvFile -Delimiter ";"  
foreach($line in $csv){
    $filePath = "$folder\$($line.personalnummer).jpg"  
    if(Test-Path $filePath){
        Rename-Item $filePath -NewName "$($line.email).jpg" -Force  
    }
}
Grüße Uwe
IT-Wurzel
IT-Wurzel 18.08.2014 um 10:28:23 Uhr
Goto Top
Hallo Uwe,

klasse, funktioniert ganz ausgezeichnet. Und vielen, vielen Dank, dass Du Dir sogar am Sonntag die Mühe machst hier im Forum aktiv zu sein.

Gruß,
Mario