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-Key: 246697

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

Printed on: April 25, 2024 at 22:04 o'clock

Member: colinardo
Solution colinardo Aug 17, 2014, updated at Aug 18, 2014 at 08:26:56 (UTC)
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
Member: IT-Wurzel
IT-Wurzel Aug 18, 2014 at 08:28:23 (UTC)
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