现在我有以下用于处理图像的批处理文件:
@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
答案 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