3

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

@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

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

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

提前致谢, 方舟

4

1 回答 1

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
于 2013-04-24T11:00:47.630 回答