2

我有这个脚本来优化目录中的图像,我需要进行递归以优化子目录中的所有图像,保持文件名和文件夹结构不变。任何人都可以帮助修改此代码以修改子目录中的图像吗?

@echo none
cd %1
md "%~1\OptimizedJPEGS"
for %%i in (*.jpg) do "C:\imageoptimization\jpegtran.exe" -optimize -progressive -copy none "%%i" "%~1\OptimizedJPEGS\%%i"
move /Y "%~1\OptimizedJPEGS\*.*" "%~1"
rd "%~1\OptimizedJPEGS"
for %%i in (*.png) do "C:\imageoptimization\pngout.exe" "%%i" 
4

1 回答 1

5

这应该在图像树的主文件夹中启动时起作用。
首先在一些示例文件夹上进行测试。

@echo none
for /d /r %%a in (*) do (
   pushd "%%a"
     echo processing "%%a"
     md "OptimizedJPEGS" 
        for %%i in (*.jpg) do "C:\imageoptimization\jpegtran.exe" -optimize -progressive -copy none "%%i" "OptimizedJPEGS\%%i"
        move /Y "OptimizedJPEGS\*.*" .
     rd "OptimizedJPEGS"
        for %%i in (*.png) do "C:\imageoptimization\pngout.exe" "%%i" 
   popd
)
于 2013-10-03T10:20:45.680 回答