Спасибо за оперативную проверку!
Да, conv_all.bat можно модифицировать (как-то надо было раньше об этом написать, но что-то у меня из головы вылетало). Можно даже сделать его универсальным:
@echo off
if _%1 == _ goto :EOF
if _%2 == _ goto :EOF
if _%3 == _ goto many
for %%a in (%2) do %1 %%a
goto :EOF
:many
for %%a in (%2) do (
md "%%a.!!!"
cd "%%a.!!!"
..\%1 ..\%%a
cd ..
)
Чем оно лучше:
1) Работает для любого формата и программы. Например:
conv_all.bat sprtotga.exe *.spr
Или так:
conv_all.bat jkgtotga.exe *.jkg
2) Будет распаковывать архив, к примеру, "balrog.spr" в каталог "balrog.spr.!!!".
Чем это удобно? В некоторых редких играх файлы имеют одинаковое имя и формат, но разное расширение: dark-sky.001, dark-sky.002 и так далее. При использовании скрипта из прошлого сообщения с маской "dark-sky.*" все такие архивы распакуются в один каталог - "dark-sky" с заменой уже существующих файлов. А если именовать файл также как и каталог, только добавив сзади ".!!!", то такие архивы будут распакованы в "dark-sky.001.!!!", "dark-sky.002.!!!" и так далее.
3) Всё это хорошо для коллекций (т.е. когда в одном файле может быть несколько изображений). А вот для случаев когда в одном файле только одно изображение куча каталогов будет только мешать. Тут достаточно дописать третий параметр:
conv_all.bat converter.exe *.ext 1
Тогда каждый файл будет извлечён в текущий каталог рядом с оригиналом. Писать "1" необязательно - можно любую цифру, букву или даже слово (главное, чтобы пробелов не было) - лишь бы был третий параметр.
4) Сообщения об ошибках в скрипте выше нет, так что если просто запустить такой conv_all.bat или только с одним параметром, то он тупо выйдет ничего не сообщив и не сделав. И последнее: в 2006-ом, кажется, когда я делал конвертер для NFS Most Wanted - самая его первая версия работала на .BAT файлах и мне как-то написал человек, у которого .BAT работал криво. Как выяснилось потом, он изнасиловал свой Windows XP программой XPize (всякие красивости, полупрозрачные окошки и прочие свистелки и перделки), которая заменила ещё и стандартную консоль Windows из-за чего ни один скрипт нормально не работал. Так что если скрипт выше на какой-то системе не будет работать - то владелец такой системы сам себе злобный Буратино.