pdftk 实用程序和批处理文件

pdftk 实用程序和批处理文件

我无论如何也想不出我错过了什么。我有以下批处理文件:

当我从我的办公桌上对映射驱动器运行此批处理文件时,它运行良好

FOR /D /r %%G in ("*") DO pdftk "%%G\*.pdf" cat output "%%G\Report.pdf"

当我在服务器上运行完全相同的批处理文件时,映射驱动器所在的位置无法运行,这让我认为我遇到了语法问题

我只是不明白发生了什么,我的眼睛很难跟踪可能有什么不同。它不工作的服务器是 Windows 2003,而同一个批处理文件工作的桌面是 Windows 7。

答案1

FOR /D /r %%G in ("*") DO pdftk "%%G\*.pdf" cat output "%%G\Report.pdf"

尝试这个

FOR /D /r %%G in ("*") DO pdftk %%G\*.pdf cat output "%%G\Report.pdf"

我认为周围的引号"%%G\*.pdf"使得 * 看起来像批处理命令的字母而不是通配符限定符。

抱歉,这已经过时了,但我刚刚发现它并使用了它。

答案2

问题似乎是您可以在命令的 set 部分进行通配符扩展,("*")但命令参数"%%G\*.pdf"没有得到扩展。我不确定为什么它在一台机器和另一台机器上的行为不一致。

由于您只想处理 pdf 文档,请移动通配符 * 使您的命令如下:

FOR /D /r %%G in ("*.pdf") DO pdftk "%%G" cat output "%%G\Report.pdf"

相关内容