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ß
Please also mark the comments that contributed to the solution of the article
Content-ID: 668552
Url: https://administrator.de/contentid/668552
Printed on: October 13, 2024 at 09:10 o'clock
1 Comment
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