批处理文件按字母顺序合并 pdf 文件

批处理文件按字母顺序合并 pdf 文件

我想创建一个批处理文件,按字母顺序合并选定的 pdf 文件。目前我有以下脚本:

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

脚本文件保存为 .cmd 文件,其快捷方式放置在“SHELL:SENDTO”文件夹中。因此,可以选择一些 .pdf 文件,单击鼠标右键并运行该文件以创建binder.pdf,它是所选pdf文件组合在一起的副本。

剩下的唯一问题是,当我选择 15 个以上的 .pdf 文件时,批处理文件会按随机顺序创建 pdf。是否可以确保所选的 .pdf 文件按字母顺序合并?

答案1

我确信有更直接的方法可以做到这一点,但这是我的第一次尝试:

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

相关内容