Arquivo em lote para combinar arquivos em ordem alfabética

1

Eu quero criar um arquivo de lote para combinar arquivos PDF selecionados em ordem alfabética. Atualmente tenho o seguinte script:

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

O arquivo de script é salvo como um arquivo .cmd e um atalho é colocado na pasta 'SHELL: SENDTO'. Portanto, é possível selecionar alguns arquivos .pdf, clicar com o botão direito do mouse e executar o arquivo para criar o binder.pdf, que é uma cópia dos arquivos PDF selecionados combinados.

O único problema que resta é que o arquivo em lote cria um pdf em ordem aleatória quando seleciono 15 arquivos .pdf. É possível garantir que os arquivos .pdf selecionados sejam mesclados em ordem alfabética?

    
por Ronald 22.10.2014 / 08:32

1 resposta

1

Tenho certeza de que há uma maneira mais direta de fazer isso, mas aqui está minha primeira tentativa:

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
    
por 29.10.2014 / 09:10