wuuusaa
Goto Top

Fast gleichnamige PDF-Dateien per Batch zusammenfügen

Hallo zusammen,

ich würde einmal hilfe bei folgender Aufgabenstellung benötigen:

In einem Ordner liegen, sagen wir einmal, 100 PDFs.

Der Name der Dateien besteht mal aus Zahlen, mal aus Buchstaben, mal gemischt.

Bsp:
90000621.pdf
K116.7646.5208.pdf
DRP73749742.pdf

Zudem gibt es diese Dateien ein zweites mal, immer mit dem Anhang "_zusammengefasst".
90000621_zusammengefasst.pdf
K116.7646.5208_zusammengefasst.pdf
DRP73749742_zusammengefasst.pdf

Zusammenfügen würde ich das ganze per PDF24 Doctool

pdf24-DocTool.exe -join -profile default/best -outputFile 90000621_fertig.pdf 90000621.pdf 90000621_zusammengefasst.pdf

Diese Kommandozeile erstellt mir dann die fertige PDF, funktioniert soweit auch wunderbar.

Meine Herangehensweise wäre nun: Ich lese mir die Dateinamen aus und schreibe sie in eine Datei, entferne anschließend die "dubletten" (im Falle von 1.pdf entferne ich also "1_zusammengefasst.pdf" aus der Liste). Anschließend lasse ich in einer Forschleife jede Zeile durchlaufen,

z.B. (nur ein Beispiel um die Idee zu verdeutlichen, kein tatsächlicher Code):
pdf24-DocTool.exe -join -profile default/best -outputFile %datei%_fertig.pdf %datei%.pdf %datei%_zusammengefasst.pdf

Wenn jemand eine bessere/einfachere Lösung hat, ich bin offen für alles.

Sooo, jetzt ist das Problem nur, dass meine Batch kenntnisse nicht die allerbesten sind.

Hat evlt. jemand Scriptschnipsel da, die er mir zur Verfügung stellen kann dass ich schonmal einen gewissen Anhaltspunkt bzw. ein erstes Grundgerüst habe, auf dass ich aufbauen kann?

Ich sage schon einmal vielen Dank im Voraus für Hilfe jeder Art face-smile

Grüße
Marcel

Content-ID: 397400

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

Ausgedruckt am: 20.11.2024 um 00:11 Uhr

137846
Lösung 137846 07.01.2019 aktualisiert um 19:20:43 Uhr
Goto Top
Würde es zwar mit Powershell machen, geht aber auch mit Batch wenn man muss
@echo off &setlocal
set "folderIN=d:\daten"  
set "folderOUT=d:\daten\fertig"  
for /f "delims=" %%a in ('dir /b /a-d "%folderIN%\*.pdf" ^| findstr /ivc:"_zusammengefasst"') do (  
    if exist "%folderIN%\%%~na_zusammengefasst.pdf" (  
         pdf24-DocTool.exe -join -profile default/best -outputFile "%folderOUT%\%%~na_fertig.pdf" "%folderIN%\%%~nxa" "%folderIN%\%%~n_zusammengefasst.pdf"  
    )
)
Gruß A.
Wuuusaa
Wuuusaa 09.01.2019 um 12:39:10 Uhr
Goto Top
Hallo answer,

wirklich 100000 Dank, deine Methode funktioniert tadellos!

Ich hätte nicht gedacht, dass ich gleich eine fertige Lösung erhalte, bzw. bin auch davon ausgegangen das ganze wäre noch umfangreicher.

Von selbst hätte ich mir da sicherlich einen Wolf gebastelt und hätte eine 30 seitige Doktorarbeit draus gemacht.

Grüße
Marcel
Giuppy
Giuppy 05.03.2019 um 12:02:40 Uhr
Goto Top
Hallo
ich möchte alle pdf Dateien (welche sich Ordner sich befinden) zusammenführen.
Ich habe mit den Batch probiert aber funktioniert es nicht
@echo off &setlocal
set "folderIN=C:\#KDFatture\Kunden\PDFRech"
set "folderOUT=C:\#KDFatture\Kunden\PDFRech\fertig"
for /f "delims=" %%a in ('dir /b /a-d "%folderIN%\*.pdf"
"C:\Program Files (x86)\PDF24\pdf24-doctool.exe" -join -sort -profile default/good -outputFile "%folderOUT%\%%~na_fertig.pdf" "%folderIN%\%%~nxa" "%folderIN%\%%~n_zusammengefasst.pdf"

PS den befehl - sort sollte die Dateien nach Name sortieren

Es ist möglich die Datei variabel zu nennen z.B. KD_01-03.03.19
kann mann in ein Batch den VBA befehl einbinden
Dim Dat As String
Dat = InputBox("KD_xx-xx.xx eingeben") 'KD_01-03.03.19

kann man statt ein Batch ein VBA benutzen?

kann mir jemanden helfen ?

Vielen Dank
Giuppy