Fichier de commandes pour combiner des fichiers pdf par ordre alphabétique


1

Je souhaite créer un fichier de commandes pour combiner des fichiers PDF sélectionnés par ordre alphabétique. Actuellement, j'ai le script suivant:

    @echo off
setlocal enabledelayedexpansion
FOR %%A IN (%*) DO (set command=!command! %%A)
pdftk.exe %command% cat output "%~dp1binder.pdf"

Le fichier de script est enregistré en tant que fichier .cmd et un raccourci de celui-ci est placé dans le dossier "SHELL: SENDTO". Par conséquent, il est possible de sélectionner des fichiers .pdf, de cliquer sur le bouton droit de la souris et de lancer le fichier pour créer le fichier binder.pdf, qui est une copie des fichiers PDF sélectionnés combinés.

Le seul problème qui reste est que le fichier de commandes crée un pdf dans un ordre aléatoire lorsque je sélectionne plus de 15 fichiers .pdf. Est-il possible de s'assurer que les fichiers .pdf sélectionnés sont fusionnés dans l'ordre alphabétique?

Réponses:


1

Je suis sûr qu'il existe un moyen plus simple de procéder, mais voici ma première tentative:

setlocal enabledelayedexpansion

:: Save all names to temporary file
if exist pdfs.txt del pdfs.txt
for %%a in (%*) do echo %%a >> pdfs.txt

:: Loop over sorted names
for /f "usebackq" %%a in (`type pdfs.txt ^| sort`) do (set command=!command! %%a)
pdftk.exe %command% cat output "%~dp1binder.pdf"

:: Clean up
del pdfs.txt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.