我的PDF目录越来越多,我正在使用ImageMagick将其转换为JPG。随着它变大,每次都没有必要重新转换所有文件。
这是我的命令:
FOR /R %%a IN (*.pdf) DO magick -density 120 "%%~a" -quality 90 "%%~dpna.jpg"
如何构造批处理文件或ImageMagick命令以仅处理尚未具有匹配JPG的PDF?
答案 0 :(得分:1)
一个简单的解决方案是使用命令 IF 检查当前* .pdf文件是否存在* .jpg:
for /R %%I in (*.pdf) do if not exist "%%~dpnI.jpg" magick -density 120 "%%I" -quality 90 "%%~dpnI.jpg"
另一种可能性是使用文件的存档属性,如果在目录中创建或修改文件,该属性将自动设置。
for /F "delims=" %%I in ('dir *.pdf /AA-D-H /B /S 2^>nul') do (
%SystemRoot%\System32\attrib.exe -a "%%I"
magick -density 120 "%%I" -quality 90 "%%~dpnI.jpg"
)
使用此解决方案的主要优点是,一旦将PDF文件转换为JPEG文件,则将其覆盖,对于更新的PDF文件,再次转换为JPEG。
要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读每个命令显示的所有帮助页面。
attrib /?
dir /?
for /?
if /?