Skript zum aut. Anpassen von Dateinamen CSV zum Abgleich
Guten Tag zusammen,
ich benötige Hilfe dabei ein Skript zu erstellen, welches mir Dateinamen anpasst.
Es geht um die Identifizierungen bzw. Umbenennungen von eingehenden Faxen auf ein Windows Share.
Der Dateiname eines Faxes ist meistens eFAX_00490800123456_00490800987654321.pdf (Absenderrufnummer und Empfängernummer) -- Manchmal kommen die auch in dem Format eFAX_+4980015...
Ich habe mir jetzt schon eine CSV Datei erstellt, in der alle Absenderrufnummern aufgelistet sind und in die zweite spalte den Namen.
Mein Wunsch ist, dass der String der Absenderrufnummer durch den Absender Ersetzt wird und der Dateiname vorne komplett gekürzt wird damit wenn 0049 oder +49 verwendet werden nicht zu "toten" Zeichen im Dateinamen führt.
Viele Grüße und schon mal vielen Dank für euren Input, mir fehlt nur etwas der Ansatz wie ich daran herangehen soll.
ich benötige Hilfe dabei ein Skript zu erstellen, welches mir Dateinamen anpasst.
Es geht um die Identifizierungen bzw. Umbenennungen von eingehenden Faxen auf ein Windows Share.
Der Dateiname eines Faxes ist meistens eFAX_00490800123456_00490800987654321.pdf (Absenderrufnummer und Empfängernummer) -- Manchmal kommen die auch in dem Format eFAX_+4980015...
Ich habe mir jetzt schon eine CSV Datei erstellt, in der alle Absenderrufnummern aufgelistet sind und in die zweite spalte den Namen.
Mein Wunsch ist, dass der String der Absenderrufnummer durch den Absender Ersetzt wird und der Dateiname vorne komplett gekürzt wird damit wenn 0049 oder +49 verwendet werden nicht zu "toten" Zeichen im Dateinamen führt.
Viele Grüße und schon mal vielen Dank für euren Input, mir fehlt nur etwas der Ansatz wie ich daran herangehen soll.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4229918338
Url: https://administrator.de/forum/skript-zum-aut-anpassen-von-dateinamen-csv-zum-abgleich-4229918338.html
Ausgedruckt am: 27.12.2024 um 15:12 Uhr
1 Kommentar
CSV
Powershell
Ein -whatif eingefügt am Ende von Zeile 8 würde nur anzeigen was durchgeführt wird (Für Tests ohne etwas zu verändern).
"Absendernummer";"Name"
"0049123456";"Max Muster"
"00499876543";"Irina Musterfrau"
...
..
.
$ordner = "\\server\fax"
$csvfile = "\\server\numbermapping.csv"
$csv = Import-Csv $csvfile -Delimiter ";"
foreach ($file in Get-ChildItem $ordner -File -Filter *.pdf){
$number = (($file.Name -replace '\+','00') -split '_')[1]
$name = $csv | ?{$_.AbsenderNummer -eq $number} | select -ExpandProperty Name
if ($name){
rename-item $file.Fullname -NewName ($file.Name -replace 'eFAX_[\d\+]+',$name) -verbose
}
}