grimmli
Goto Top

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:

@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

Content-Key: 318999

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

Printed on: April 24, 2024 at 12:04 o'clock

Member: Endoro
Solution Endoro Oct 25, 2016 at 16:00:13 (UTC)
Goto Top
Hey,
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