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-ID: 318999

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

Ausgedruckt am: 08.11.2024 um 03:11 Uhr

Endoro
Lösung Endoro 25.10.2016 um 18:00:13 Uhr
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