批量复制重命名和调整图像大小

时间:2014-05-27 13:11:50

标签: batch-file rename batch-processing xcopy batch-rename

我有一个1000个图像的文件夹,所有图像都有不同的名称,需要使用原始文件中的命令行创建不同大小的图像。

Images¬
       HC001¬
             HC001.jpg
       HC002¬
             HC002.jpg
       HC003¬
             HC003.jpg
       HX001¬
             HX001.jpg

我想做的是

Images¬
       HC001¬
             HC001.jpg
             HC001-1920x1080.jpg
             HC001-1024x768.jpg
       HC002¬
             HC002.jpg
             HC002-1920x1080.jpg
             HC002-1024x768.jpg
       HC003¬
             HC003.jpg
             HC003-1920x1080.jpg
             HC003-1024x768.jpg
       HX001¬
             HX001.jpg
             HX001-1920x1080.jpg
             HX001-1024x768.jpg

我的想法是先复制图像,然后尝试复制每个文件夹中的图像,然后将其重命名为大小。

然后运行一个单独的脚本来查找大小前缀并调整大小。

这是最有效的做法,还是可以使用批处理脚本一次完成。

到目前为止,我有for /d /r %%a in (*.) do echo "%%a"显示文件夹列表,但我现在很难打开文件夹来搜索.jpg文件。

我欢迎任何帮助,因为我是批处理文件的新手。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用scale.bat(无需安装外部二进制文件):

for /d /r "c:\Images" %%i in (*) do (
  if exist "%%~fi\%%~ni.jpg" (
    call scale.bat -source "%%~fi\%%~ni.jpg" -target "%%~fi\%%~ni-1920x1080.jpg" -max-width 1920 -max-height 1080 -keep-ratio no -force yes
    call scale.bat -source "%%~fi\%%~ni.jpg" -target "%%~fi\%%~ni-1024x768.jpg" -max-width 1024 -max-height 768 -keep-ratio no -force yes
  )
)

很可能你已经安装了powershell,所以你也可以查看this