目标:我们每天将数百份PDF文件保存到一个文件夹中。每天晚上我想要一个批处理文件运行,它将所有这些按字母顺序合并为一个PDF并将其移动到另一个文件夹中。
到目前为止,我正在使用pdftoolkit和批处理文件来执行合并。它完美地工作......除非有空格。我真的很想让它变得万无一失,所以我不必告诉所有人并且不要用空格来节省#34;。下面是.bat文件文本......
setlocal enabledelayedexpansion
FOR /F %%A IN ('dir /B /ON *.pdf') DO (set command=!command! "%%A")
pdftk.exe %command% cat output "%~dp1%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%_Title_Here.pdf"
/ b / on 可以很好地将它们按字母顺序排列,但是如果任何PDF在标题中包含空格,它会认为它们是单独的文件并导致批处理失败。任何想法如何"空间防范"这个批次?
注意:我对编码非常陌生,这是我在这里发表的第一篇文章。在提供解决方案时请记住这一点。谢谢!
答案 0 :(得分:0)
找到解决方案。添加FOR选项以获取一行中的所有令牌似乎可以解决问题。见下文。效果很好!
setlocal enabledelayedexpansion
FOR /F "tokens=* delims= " %%A IN ('dir /B /ON *.pdf') DO (set command=!command! "%%A")
pdftk.exe %command% cat output "%~dp1%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%_Title_Here.pdf"