[Решено] Пакетное консольное изменение размеров большого количество изображений irfanview

Собственно задача встала сделать ресайз 45000+ изображений с вложенными папками.
Для решения рассматривалось 2 варианта Imagemagick и irfanview, первый был приоритетнее, но все закончилось для него плачевно в тот момент как попались русские имена папок во вложениях.

$pth='D:\Temp\' #папка где лежат все
                          #остальные изображения, может быть деревом папок
#собственно инструмент
$imgm='C:\Program Files (x86)\IrfanView\i_view32.exe' 
#берем нашу папку и рекурсивно по маске jpg, могут быть и другие
Get-ChildItem $pth -recurse -include *.jpg |  
#само изменение размеров происходит как вызов программы с параметром, результат пишется по команде /convert
     % { & "$($imgm)" "$($_.fullname) /resize=(800,600) /convert=$($_.fullname)"; 
#log
$_.fullname | out-file D:\temp\log.txt -append
#задержка обязательна, иначе данный скрипт может уронить весьма серьезный блейд
# на полчаса в моем случае и похоронить часть файлов.
         
         Start-Sleep -Milliseconds 100;  
       }
Запись опубликована в рубрике Работа. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.