Пакетное копирование, переименование и изменение размера изображений

У меня есть папка с тысячами изображений с разными именами, и мне нужно создавать изображения разного размера с помощью командной строки в Windows из исходного файла.

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.

Любая помощь будет приветствоваться, поскольку я новичок в пакетных файлах.


person Chill Web Designs    schedule 27.05.2014    source источник
comment
Irfanview имеет режим командной строки, и это можно сделать с помощью этого и пакетного сценария.   -  person foxidrive    schedule 27.05.2014
comment
Вы также можете использовать imagemagik   -  person Alex    schedule 27.05.2014


Ответы (1)


Вы можете попробовать с 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, так что вы также можете проверить это

person npocmaka    schedule 04.10.2017