1

我有一个文本文件,其中包含 pdf 文件列表的位置。我正在编写一个 Windows 批处理文件,该文件需要逐行读取并附加在一个命令中,该命令将被执行以使用 pdftk 将所有 pdf 合并为 1 个 pdf。

下面是示例命令:

pdftk "C:\test\1.pdf" "C:\test\2.pdf"......"C:\test\50.pdf" cat output merged.pdf

我遇到了这个如何使用 Windows 批处理文件遍历文本文件中的每一行?用于读取文本文件。

但是如何读取并附加到一个变量,然后可以将其用于上述命令?

4

1 回答 1

3

假设您的 pdf 文件列表如下所示

pdf1.pdf
pdf2.pdf
pdf3.pdf

然后你可以用它把它们连接成一个变量

setlocal enabledelayedexpansion
set files=
for /f "tokens=*" %%a in (pdfs.txt) do (
if defined files (
set files=!files! "%%a"
) else (
set files="%%a"
)
)
pdftk !files! cat output merged.pdf

可以从变量中删除前导空格,我不确定这if else是否会有所作为。如果没有,那么您可以摆脱它并使用

setlocal enabledelayedexpansion
set files=
for /f "tokens=*" %%a in (pdfs.txt) do (    
set files=!files! "%%a"
)
pdftk !files! cat output merged.pdf
于 2013-02-06T09:05:12.733 回答