PDF-Dateien via Powershell umbenennen (Schleife)
Hallo zusammen,
folgende Ausgangssituation:
450x PDF-Dokumente. Den Inhalt dieser PDF-Dateien lasse ich mit pdf2text (Xpdf-Tools) auslesen und in eine Textdatei mit identischem Namen packen.
Nun wurde ich gerne via Powershell eine bestimmte Zeile dieser Textdatei(en) auslesen und die entsprechende PDF nach diesem Wert umbennen. Das ganze als Schleife für alle 450x PDF-Dokumente.
Beispiel:
- 1234.pdf -> 1234.txt
- Auslesen von Zeile 11 (xyz)
- Umbenennen der 1234.pdf in xyz.pdf
- Schleife für nächste Datei
Mit (Get-Content "$loc\Temp\1234.txt")[11] könnte ich die Zeile auslesen, jetzt fehlt "nur" noch die Schleife für alle weiteren Dateien (ggf. als Basis eine weitere Textdatei mit den Dateinamen).
Kann hier jemand eine Hilfestellung geben?
Vielen Dank vorab!
Gruß
folgende Ausgangssituation:
450x PDF-Dokumente. Den Inhalt dieser PDF-Dateien lasse ich mit pdf2text (Xpdf-Tools) auslesen und in eine Textdatei mit identischem Namen packen.
Nun wurde ich gerne via Powershell eine bestimmte Zeile dieser Textdatei(en) auslesen und die entsprechende PDF nach diesem Wert umbennen. Das ganze als Schleife für alle 450x PDF-Dokumente.
Beispiel:
- 1234.pdf -> 1234.txt
- Auslesen von Zeile 11 (xyz)
- Umbenennen der 1234.pdf in xyz.pdf
- Schleife für nächste Datei
Mit (Get-Content "$loc\Temp\1234.txt")[11] könnte ich die Zeile auslesen, jetzt fehlt "nur" noch die Schleife für alle weiteren Dateien (ggf. als Basis eine weitere Textdatei mit den Dateinamen).
Kann hier jemand eine Hilfestellung geben?
Vielen Dank vorab!
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668552
Url: https://administrator.de/contentid/668552
Ausgedruckt am: 21.11.2024 um 13:11 Uhr
1 Kommentar
Moin,
Gruß Thomas
$Source = "D:\Pfad\zum\Quellordner"
$illegalChars = [System.IO.Path]::GetInvalidFileNameChars().Foreach({[regex]::Escape($_)}) -Join '|'
Foreach ($file in Get-ChildItem "$Source\*.txt") {
$line11 = (Get-Content -Path $file -TotalCount 11)[-1] -replace $illegalChars
Rename-Item -Path "$Source\$($file.Basename).pdf" -NewName "$line11.pdf"
}
Gruß Thomas