Mehrere PDF-Dateien per Batch zusammenfügen
Hallo zusammen,
in einem Ordner liegen mehrere pdf Dateien.
Die eine Hälfte der PDF's fängt mit „B_“ an gefolgt von einer dreistelligen Zahl. A_001, A_002, …
Die zweite Hälfte der Dateien fängt mit „Z_“ an gefolgt wiederrum von einer dreistelligen Zahl. Z_001, Z_002, …
Die Dateien mit den gleichen Zahlen sollen zu einer PDF Datei zusammen gefügt werden.
Unteranderem hab ich den Code hier:
Leider funktioniert es nicht ganz.
Und zwar wird die Variable Suffix zwar mit allen Zahlen belegt. Aber der Befehl zum Zusammenfügen wird nur für Dateien mit einer Zahl ausgeführt.
Was muss man da ändern?
Gruß Grimmli
in einem Ordner liegen mehrere pdf Dateien.
Die eine Hälfte der PDF's fängt mit „B_“ an gefolgt von einer dreistelligen Zahl. A_001, A_002, …
Die zweite Hälfte der Dateien fängt mit „Z_“ an gefolgt wiederrum von einer dreistelligen Zahl. Z_001, Z_002, …
Die Dateien mit den gleichen Zahlen sollen zu einer PDF Datei zusammen gefügt werden.
Unteranderem hab ich den Code hier:
@echo off:: & setlocal
set "Base=Z:\BA"
set "PDFTK=C:\pdftk\pdftk.exe"
set "PDFCheck=A"
set "PDF2=Z"
set "PDFGes=Abrechnung_Gesamt"
set "Suffix="
for /F %%i in ("%Base%*.*") do call :ProcessCust "%%i"
goto :eof
:ProcessCust
pushd "%~f1""
if not exist "%PDFCheck%_*.pdf" goto :EndSub
for /F "tokens=1* delims=_" %%a in ('dir /b "%PDFCheck%_*.pdf"') do ( set "Suffix=%%b"
"%PDFTK%" "%PDFCheck%_%Suffix%" "%PDF2%_%Suffix%" cat output "%PDFGes%_%Suffix%"
)
:EndSub
popd
goto :eof
Leider funktioniert es nicht ganz.
Und zwar wird die Variable Suffix zwar mit allen Zahlen belegt. Aber der Befehl zum Zusammenfügen wird nur für Dateien mit einer Zahl ausgeführt.
Was muss man da ändern?
Gruß Grimmli
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 318999
Url: https://administrator.de/contentid/318999
Ausgedruckt am: 08.11.2024 um 03:11 Uhr
1 Kommentar
Hey,
ungetestet etwa so:
"convert" ist ein Programm aus dem ImageMagick-Paket.
Gruß, Endoro
ungetestet etwa so:
@echo off & setlocal
for /f "delims=" %%a in ('dir /b/a-d B_*.pdf') do (
for /f "tokens=1*delims=_" %%b in ("%%~a") do (
if exist "Z_%%~c" convert "%%~a" "Z_%%~c" "B_Z_%%~c"
)
)
"convert" ist ein Programm aus dem ImageMagick-Paket.
Gruß, Endoro