retace
Goto Top

PDF24 Batch Zusammenführen von mehreren Dateien

Hallo zusammen

Ich weiss, wieder mal so ein Beitrag... : )
Aber auch nach 6 Stunden suchen in diversen Foren (+ eine Nacht darüber schlafen) finde ich für mein Problem keine Lösung.
Es lässt mir aber keine Ruhe, da ich denke es gibt einen Lösungsweg.

Ausgangslage _ Tools:
pdf24, pdf24DocTool

Problem:
. In einem Ordner befinden sich mehrere .pdf-Dateien.
. Jeweils 2 dieser Dateien muss ich zu einer Datei zusammenführen.
- Der Dateiname der dabei ausgegeben wird ist irrelevant.
. Die Datei mit der Endung E muss jeweils vor der Datei mit der Endung X zusammengefügt werden.
- Die Dateinamen könnte ich vorher auch umschreiben in: 1.pdf, 2.pdf, 3.pdf usw. falls dies hilfreich wäre.
. Ab der 12 Stelle im Dateinamen gibt es ein eindeutiges Kriterium. Bsp: 226736190.

zus

Irgendwie in die Richtung wird es wohl gehen. Wobei dies unten nur ein Beispiel ist welches nicht funktioniert. : /

@echo off &setlocal

set "folderIN=C:\Users\test\Desktop\Batch EB\IN"  

set "folderOUT=C:\Users\test\Desktop\Batch EB\OUT\"  

for /f "delims=" %%a in ('dir /b /a-d "%folderIN%\*.pdf" ^| findstr /ivc:"p35743-999z"') do (  

if exist "%folderIN%\%%~p35743-999z.pdf" (  

C:\Programme\PDF24\pdf24-doctool.exe -join -profile default/best -outputFile "%folderOUT%\%%~na.pdf" "%folderIN%\%%~nxa" "%folderIN%\%%~na_Anhang.pdf"  

)

)

A Liaba Gruass + schon Mal Danke fürs ansehen.

Content-ID: 3252890656

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

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

TK1987
Lösung TK1987 05.07.2022 aktualisiert um 08:21:28 Uhr
Goto Top
Moin,

%%~p35743-999z.pdf"
Diese Variable kann so nicht funktionieren. Was auch immer du da tun wolltest, die Schleifenvariable a fehlt darin.

findstr /ivc:"p35743-999z"
Damit ignorierst du alle Dateien, die diese Zeichenkette im Namen haben. Laut deinem Bild ignorierst du also alle.

- Die Dateinamen könnte ich vorher auch umschreiben in: 1.pdf, 2.pdf, 3.pdf usw. falls dies hilfreich wäre.
wo läge denn da noch der Sinn, das Ganze zu Skripten, wenn man doch wieder manuell Hand anlegen muss face-wink
Solange es ein Schema gibt, anhand dessen man die Dateien die zusammen gehören identifizieren kann, sollte dies immer machbar sein.

@echo off

set DirIN=%UserProfile%\Desktop\Batch EB\IN
set DirOut=%UserProfile%\Desktop\Batch EB\OUT
set Prog=%ProgramFiles%\PDF24\PDF24-Doctool.exe

for %%A in ("%DirIN%\*-E.pdf") do call :Merge "%%A"  
goto :EoF

:Merge
set File=%~n1
set File=%File:~0,-2%
"%Prog%" -Join -Profile default/best -outputFile "%DirOut%\%File%.pdf" "%~1" "%~dp1\%File%-X.pdf"  

Der Standardinstallationspfad von PDF24 ist eigentlich unter "C:\Program Files". Wenn du dies tatsächlich unter "C:\Programme" installiert hast, musst du den Pfad oben in Zeile 5 natürlich anpassen.

Gruß Thomas
Retace
Retace 05.07.2022 um 08:50:47 Uhr
Goto Top
Hallo Thomas

OMG!
Vielen Danke! Es funktioniert genau wie gewünscht!

Der Pfad lautete wirklich: set Prog=C:\Program Files (x86)\PDF24\pdf24-doctool.exe ; )

Hatte so lange gesucht und wie ich merke wäre ich auch nie auf deinen Code gekommen.

Nochmals Danke Danke Dank! Top.

Fründlicha Gruass + a schöna Tag