PDF Dateien nach Inhalt einer TXT Datei umbenennen
Hallo zusammen,
ich stehe gerade vor einem Problem und hätte eine Frage zur Umsetzung.
Ich bin mit der Batch Programmierung nicht wirklich vertraut.
Folgendes Problem:
Ich erzeuge dynamisch 17 PDF Dateien die alle nach der Syntax "xxx000.00xx1_000.pdf aufgebaut sind
Der Dateiname ist immer 16 stellig.
Die hintere 3 stellige Zahl zählt dabei nach oben (also 1. PDF = 001, 2.PDF = 002, usw)
In einer Textdatei im gleichen Verzeichnis stehen in den ersten 17 Zeilen Wörter, die diese PDF Dateien bekommen sollen.
Danach kommt noch dynamisch unendlich lang, irgendwas anderes, dass ich aber nicht brauche.
Die Textdatei sie wie folgt aus:
Zeile 1: xxx000.00xx0 _ABC_ 000
Zeile 2: xxx.000.00xx0 _DEF_ 000
Zeile 3: xxx.000.00xx0 _GHI_ 000
usw.
(Wichtig ist hier, dass die Blöcke in 3 Teile unterteilt sind, mit jeweils einem Leerzeichen dazwischen. Der Dateiname soll aber natürlich ohne die Leerzeichen erzeugt werden)
Ich möchte gerne erreichen, dass die erste PDF Datei eben mit der ersten Zeile der TXT Datei umbenennt wird, 2. PDF mit 2. Zeile usw. bis alle 17 Dateien umbenannt wurden.
Was noch zu erwähnen ist:
Der Name der Textdatei ist dynamische, stimmt aber immer mit den ersten 12 Stellen der PDF's überein (also: xxx000.00xx0). Der Inhalt aber immer identisch.
Könnt ihr mir helfen hier eine Lösung zu bekommen?
Edit: Betriebsystem ist Win7.
Vielen Dank bereits im Voraus!
Chris
ich stehe gerade vor einem Problem und hätte eine Frage zur Umsetzung.
Ich bin mit der Batch Programmierung nicht wirklich vertraut.
Folgendes Problem:
Ich erzeuge dynamisch 17 PDF Dateien die alle nach der Syntax "xxx000.00xx1_000.pdf aufgebaut sind
Der Dateiname ist immer 16 stellig.
Die hintere 3 stellige Zahl zählt dabei nach oben (also 1. PDF = 001, 2.PDF = 002, usw)
In einer Textdatei im gleichen Verzeichnis stehen in den ersten 17 Zeilen Wörter, die diese PDF Dateien bekommen sollen.
Danach kommt noch dynamisch unendlich lang, irgendwas anderes, dass ich aber nicht brauche.
Die Textdatei sie wie folgt aus:
Zeile 1: xxx000.00xx0 _ABC_ 000
Zeile 2: xxx.000.00xx0 _DEF_ 000
Zeile 3: xxx.000.00xx0 _GHI_ 000
usw.
(Wichtig ist hier, dass die Blöcke in 3 Teile unterteilt sind, mit jeweils einem Leerzeichen dazwischen. Der Dateiname soll aber natürlich ohne die Leerzeichen erzeugt werden)
Ich möchte gerne erreichen, dass die erste PDF Datei eben mit der ersten Zeile der TXT Datei umbenennt wird, 2. PDF mit 2. Zeile usw. bis alle 17 Dateien umbenannt wurden.
Was noch zu erwähnen ist:
Der Name der Textdatei ist dynamische, stimmt aber immer mit den ersten 12 Stellen der PDF's überein (also: xxx000.00xx0). Der Inhalt aber immer identisch.
Könnt ihr mir helfen hier eine Lösung zu bekommen?
Edit: Betriebsystem ist Win7.
Vielen Dank bereits im Voraus!
Chris
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 233307
Url: https://administrator.de/forum/pdf-dateien-nach-inhalt-einer-txt-datei-umbenennen-233307.html
Ausgedruckt am: 16.05.2025 um 08:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo Chris1979 und willkommen im Forum!
Wenn ich das einigermaßen richtig verstanden haben sollte, könnte das etwa so gehen:
Solange in Zeile 10 das "
Sollte übrigens die Textdatei nicht den Dateityp ".txt" haben, wäre die Zeile 7 entsprechend anzupassen.
Grüße
bastla
Wenn ich das einigermaßen richtig verstanden haben sollte, könnte das etwa so gehen:
@echo off & setlocal enabledelayedexpansion
set "Ordner=D:\Ordner mit den pdf-Dateien"
set "Dateien=???000.00???_*.pdf"
pushd "%Ordner%"
for /f "tokens=1-4 delims=._" %%a in ('dir /b "%Dateien%" 2^>nul') do (
set "Datei=%%a.%%b.txt"
if exist "!Datei!" (
set /a Nr=1%%c-1000
for /f "tokens=2-4 delims=: " %%i in ('findstr /n "." "!Datei!"^|findstr /b "!Nr!:"') do echo ren "%%a.%%b_%%c.%%d" "%%i%%j%%k.%%d"
)
)
popd
pause
echo
" vor dem "ren
" steht, werden (zum Testen) die Umbenenn-Befehle nur angezeigt - wenn das Testergebnis sinnvoll aussieht, einfach dieses "echo
" entfernen ...Sollte übrigens die Textdatei nicht den Dateityp ".txt" haben, wäre die Zeile 7 entsprechend anzupassen.
Grüße
bastla