如何使用JpegTran在使用Windows的目录中递归处理所有图像,覆盖它们?

时间:2013-04-24 08:18:28

标签: windows image-processing command-line batch-file

现在我有以下用于处理图像的批处理文件:

@echo none 
cd %1 
md "%~1\ProcessedJPEGS"
for %%i in (*.jpg) do "C:\Program Files\Image Optimization\jpegtran.exe" -optimize -progressive -copy none "%%i" "%~1\ProcessedJPEGS\%%i" 
move /Y "%~1\ProcessedJPEGS\*.*" "%~1" 
rd "%~1\ProcessedJPEGS" 
pause

正如你所看到的,这并不理想,但我的技能充其量是可笑的,所以我需要一些帮助:)

我想要完成的是在目录中运行此批处理并递归处理所有图像并覆盖它们。

提前致谢, Arky

1 个答案:

答案 0 :(得分:8)

根据您的命令行,这应该处理当前文件夹及下面的所有JPG文件。在一组文件/文件夹上测试它,以确保它适合您。

@echo none 
for /f "delims=" %%a in ('dir "*.jpg" /b /s /a-d') do (
echo processing "%%a"
"C:\Program Files\Image Optimization\jpegtran.exe" -optimize -progressive -copy none "%%a" "%%a.tmp"
move /Y "%%a.tmp" "%%a" >nul
)
pause