В настоящее время я работаю над личным проектом, где мне нужно изменить размеры десятков тысяч файлов PNG. Я почти ничего не знаю о сценариях, PS или программировании (я художник-график)
Я использую программу под названием ImageResizer, которая изменяет размеры изображений.
Это программное обеспечение имеет параметры командной строки. Параметры, которые я использую:
/resize auto "XBR 2x <NoBlend>"
который берет мое изображение и использует алгоритм xBRx2, чтобы удвоить его размер. Именно этот вывод мне нужен.
На самом деле, у меня есть пакетный файл, который я взял с программного обеспечения Github, который делает именно то, что мне нужно, но только для одного изображения. Вот оно, для справки:
@echo off
for %%F in (Input*.*) do ImageResizer-r129.exe /load "%%F" /resize auto "XBR 2x <NoBlend>" /save "Output\%%~nF%%~xF"
Вот моя дилемма. У меня, как я уже говорил, десятки тысяч этих изображений. И вы можете подумать "хорошо, что cmd может сделать это" ...
За исключением того, что эти png-файлы вложены в довольно обширный макет подкаталога ... и моя выходная папка должна поддерживать ту же компоновку подкаталогов, что и входные данные, чтобы работать с тем, что мне нужно.
Итак, чтобы объяснить, что мне нужно более четко ...
У меня есть папка INPUT. В этой папке несколько подпапок. И в каждой из этих папок есть больше папок ... как далеко они идут и имена этих папок различны. В конце концов, в конце каждой «ветки» находятся мои png-файлы, для обработки которых мне нужно программное обеспечение.
Итак, моя папка ввода выглядит примерно так:
L вход
L_ долото
L__ текстуры
L___ предметы
L____ one.png
L____ two.png
L___ модели
L____ one.png
L____ two.png
L_ артефакты
L__ текстуры
L___ предметы
L____ groupOne
L_____ one.png
L_____ two.png
L____ groupTwo
так далее
Как вы можете заметить из моего примера, нет единой структуры имен, и из того, что я мало знаю о скриптах, требуется рекурсивное переключение для захвата всех png-файлов.
Все PNG из этой входной папки должны быть переданы через ImageResizer.exe с моими параметрами.
Затем обработанные PNG должны быть выведены в папку «Выход» с той же разметкой поддиректории в качестве входных данных ...
поэтому Input/chisel/textures/items/one.png необходимо / сохранить в Output /chisel/textures/items/one.png и т. д. для каждого png в моей папке Input.
Кроме того, скрипт может просто перезаписать исходное изображение из папки ввода. В любом случае достигается одна и та же цель.
Вот мой текущий сценарий PS, который написал мой зять, но не смог завершить. http://pastebin.com/fveGJkRJ
Любая помощь очень ценится, так как мне нужно обработать около 18000 фунтов. Я начал просто копировать и вставлять свой пакетный скрипт снова и снова, заменяя каждый вход и выход каждым путем к файлу, но это потребляло слишком много времени.