我正在尝试将许多 pdf 文件转换为 jpg,但前提是它有 1 页。我宁愿使用多页pdf而不是图像。我尝试了不同的命令,并让它们分别正常工作,包括identify
和convert
.但是,我无法将它们组合在一个文件夹中工作。我还没有达到条件操作的地步(如果少于 2 页,请转换它(。我正在使用此代码
pause
set path="C:Program FilesImageMagick-7.0.8-Q16";%path%
FOR /r %%g in (*.pdf) DO (
for /f %%i in ('identify -format %n %%g') do set pgs=%%i
echo %pgs%
echo "%%g"
::convert %%~ng%%~xg %%~ng.jpg
::del %%~ng.pdf
)
pause
它说命令的语法不正确。注释掉的部分工作正常。我不太了解命令行,因此非常感谢任何帮助。
这是最终有效的代码。它做了很多小事
- 循环遍历文件夹和子文件夹
- 评估每个 pdf 文件
- 如果 pdf 文件的名称中没有"c"并且有超过 1 页,请在扩展名之前的名称后面的">c"处重命名。(这有助于避免处理已处理的文件(
设置本地启用延迟扩展
pause
set path="C:Program FilesImageMagick-7.0.8-Q16";%path%
FOR /d /R %%i in (*) DO (
cd "%%i"
FOR /r %%g in (*.pdf) DO (
(Echo "%%g" | FIND /I "_c_" 1>NUL )||(
for /f %%i in ('magick identify -format %%n "%%g"') do if %%i gtr 1 ren %%~ng%%~xg %%~ng_c_%%~xg
)
)
cd..
)
pause