从文件夹中的 PDF 文件中删除最后 2 页的批处理
Batch for removing last 2 pages from PDF files on a folder
我正在使用 PDFtk 从特定文件夹中删除一堆 PDF 的最后 2 页。
为了在文件中单独删除它,这段代码工作得很好,因为最后两页从 original.pdf 中删除,并且新创建的 reduced.pdf 副本没有最后两页
@echo off
cd "C:\Program Files (x86)\PDFtk\bin"
start pdftk.exe C:\Desktop\long\original.pdf cat 1-r3 output C:\Desktop\short\reduced.pdf
pause
Fyi,pdf 文件都有各种字母数字文件名和 - 作为文件名单词之间的分隔符,例如游行活动-2022.pdf
我现在需要的是如何自动化,这样脚本就会遍历 long 文件夹中的每个 pdf 文件,并通过命令创建一个具有相同文件名的新副本到短文件夹
这个任务可以用一个批处理文件完成,只需要一个命令行:
@for %%I in ("C:\Desktop\long\*.pdf") do @"C:\Program Files (x86)\PDFtk\bin\pdftk.exe" "%%I" cat 1-r3 output "C:\Desktop\short\%%~nxI" && echo Successfully processed "%%~nxI" || echo ERROR: Failed to process "%%~nxI"
此命令行使用Windows命令FOR来处理指定文件夹中的所有PDF文件。对于每个 PDF 文件,执行 pdftk,当前 PDF 文件的完全限定文件名作为输入文件名,文件名 + 具有不同目录路径的扩展名作为输出文件名。 运行 for /?
在命令提示符中 window 获取有关此命令的帮助。
在 pdftk.exe
退出时输出成功消息,值为 0
。否则,错误消息将在 pdftk.exe
退出时输出,值不等于 0
。
两个@
是为了抑制[=32=]FOR命令行的输出和每个执行的pdftk命令行的输出正在处理指定文件夹中的PDF文件。
有关条件运算符 &&
和 ||
的说明,请参阅 single line with multiple commands using Windows batch file。
我正在使用 PDFtk 从特定文件夹中删除一堆 PDF 的最后 2 页。
为了在文件中单独删除它,这段代码工作得很好,因为最后两页从 original.pdf 中删除,并且新创建的 reduced.pdf 副本没有最后两页
@echo off
cd "C:\Program Files (x86)\PDFtk\bin"
start pdftk.exe C:\Desktop\long\original.pdf cat 1-r3 output C:\Desktop\short\reduced.pdf
pause
Fyi,pdf 文件都有各种字母数字文件名和 - 作为文件名单词之间的分隔符,例如游行活动-2022.pdf
我现在需要的是如何自动化,这样脚本就会遍历 long 文件夹中的每个 pdf 文件,并通过命令创建一个具有相同文件名的新副本到短文件夹
这个任务可以用一个批处理文件完成,只需要一个命令行:
@for %%I in ("C:\Desktop\long\*.pdf") do @"C:\Program Files (x86)\PDFtk\bin\pdftk.exe" "%%I" cat 1-r3 output "C:\Desktop\short\%%~nxI" && echo Successfully processed "%%~nxI" || echo ERROR: Failed to process "%%~nxI"
此命令行使用Windows命令FOR来处理指定文件夹中的所有PDF文件。对于每个 PDF 文件,执行 pdftk,当前 PDF 文件的完全限定文件名作为输入文件名,文件名 + 具有不同目录路径的扩展名作为输出文件名。 运行 for /?
在命令提示符中 window 获取有关此命令的帮助。
在 pdftk.exe
退出时输出成功消息,值为 0
。否则,错误消息将在 pdftk.exe
退出时输出,值不等于 0
。
两个@
是为了抑制[=32=]FOR命令行的输出和每个执行的pdftk命令行的输出正在处理指定文件夹中的PDF文件。
有关条件运算符 &&
和 ||
的说明,请参阅 single line with multiple commands using Windows batch file。