gerrossa
Goto Top

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ß

Content-ID: 668552

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

Ausgedruckt am: 21.11.2024 um 13:11 Uhr

TK1987
Lösung TK1987 02.10.2024 aktualisiert um 13:18:57 Uhr
Goto Top
Moin,

$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