嵌套循环,在蝙蝠窗口中具有不同的魔术命令



我正在尝试将许多 pdf 文件转换为 jpg,但前提是它有 1 页。我宁愿使用多页pdf而不是图像。我尝试了不同的命令,并让它们分别正常工作,包括identifyconvert.但是,我无法将它们组合在一个文件夹中工作。我还没有达到条件操作的地步(如果少于 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

最新更新