IrfanView: пакетное преобразование командной строки
A) Я хотел бы выполнить пакетное преобразование из *.TIF Format Packbit Conversion в LZW Conversion, перезаписать исходный файл, НО поддерживать исходную структуру папок автоматически. Это легко сделать в графическом интерфейсе Batch Irfanview (я уже это сделал, спросите меня, как, если вы хотите сделать то же самое, что-то подобное)
Б) Я хочу сделать то же самое, что и А), но выбрать только изображения с одинаковым окончанием файла (*xyz.tif), а также сохранить структуру папок! Я думаю, что этот бит может быть подготовлен с помощью python os.walk возможно?!
1 ответ
Я и коллега придумали решение, которое редко можно найти в документации IrfanView или в различных сообществах, я полагаю. Это перебирает структуру папок (с os.walk) и преобразует каждый tif с определенным окончанием (*xyz.tif в этом случае) из Packbit Format в LZW Format и перезаписывает его. Исходная структура папки, таким образом, будет сохранена. Я думаю, что это довольно полезный скрипт для различных задач преобразования (например, из tif в jpeg).
import os
IVIEW32_PATH = 'C:\Program Files (x86)\IrfanView\i_view32.exe'
SOURCE_FILETYPE = 'tif'
TARGET_FILETYPE = 'tif'
PATH = r'D:\OriginalFolderxyz'
for dirpath, subdirs, files in os.walk(PATH):
print dirpath
command = '"%s" '%IVIEW32_PATH + dirpath + r"\*_col.%s /tifc=1 /convert="%(SOURCE_FILETYPE) + dirpath + r"\*_xyz.%s"%TARGET_FILETYPE
os.system(command)
print "ended...*.xyz.tif"