Найти и сохранить все иконки в файлах .dll, .icl...в папке

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Andrey_A писал(а):4. Сканирование подпапок
Уже. В предыдущем посте обновлённый скрипт
Andrey_A писал(а):2.После того как я в настройках архивных плагинов прописал, что .dll файлы открываются ICLRead.wcx, то они стали открываться..., но в тотале отображаются как архивы, можно что-нибудь сделать, чтобы они открывались, как архивы, но выглядели как обычно (привычно)
3.Как же быть с .exe файлами и другими
Ответ на скрине предыдущем посте: волшебное число 260
Andrey_A писал(а):3. Может быть скопировать все выделенные файлы куда-нибудь
4. Переименовать их в .icl (что даёт возможность извлекать иконки из .exe, .cpl.....)
5. А уж потом извлечь
Проблема не в расширениях, а в самих файлах.
Попробуй переименовать и распаковать CABRK.DLL из папки TC
Andrey_A писал(а):1 Если попадается файл .dll - "Архив повреждён или имеет неизвестный формат", то процесс останавливается
...
Только вот как быть с теми, которые не открываются и останавливают процесс?
Нужно распаковывать файлы по одному (читай: писать другой скрипт :))
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Недавно пришлось вернутся к этому вопросу ещё раз, и нашёлся совершенно другой путь решения. Правда я не смог его автоматизировать (приходится делать несколько операций самостоятельно), но проблему "плохих архивов" почти удалось решить с помощью wdx плагина iconlibrary.wdx, что позволяет находить иконки не только в dll и exe.

1. Делается шаблон

Код: Выделить всё

<Изображения>_Файлы_со_значками_SearchFlags=0|000002000020|||||||||0000| 
<Изображения>_Файлы_со_значками_SearchFor=*.ani;*.bpl;*.cpl;*.cur;*.dcr;*.dll;*.dpl;*.exe;*.icl;*.ico;*.il;*.nil;*.ocx;*.rc;*.res;*.scr;*.vbx;*.wcx;*.wdx;*.wlx;*.wfx;*.zsi;*.iconzip;*.drv;*.wbx;*.icpr;*.icns 
<Изображения>_Файлы_со_значками_SearchIn= 
<Изображения>_Файлы_со_значками_SearchText=
2. Производится поиск по этому шаблону в нужной папке\диске

3. Все найденные файлы копируются куда-нибудь

4. Скопированные файлы переименовываются в расширение icl

5. Выделяются и распаковываются каждый в отдельную папку
(если раньше распаковка имела проблемы, т.к. пытались распаковать файлы, в которых не было значков и выдавалась ошибка, то сейчас вероятность этой ошибки снижена до нуля. Пример из 6000 файлов, который выдал поиск - при распаковке было только 2 ошибки, просто продолжил со следующего файла и всё - распаковалось за 3 минуты)

Далее уже по усмотрению каждого

6. Поиск и удаление одинаковых значков

7. Переименование по шаблону [P]_[N] и копирование в одну папку

Можно ли это автоматизировать - не знаю, т.к. для поиска нужно время, на копирование тоже, переименовывание...

Дополнительно:
По своей любопытности, я проверил ту же самую папку, всё с тем же iconlibrary.wdx, но в поик ввёл

Код: Выделить всё

*.* | *.ani;*.bpl;*.cpl;*.cur;*.dcr;*.dll;*.dpl;*.exe;*.icl;*.ico;*.il;*.nil;*.ocx;*.rc;*.res;*.scr;*.vbx;*.wcx;*.wdx;*.wlx;*.wfx;*.zsi;*.iconzip;*.drv;*.wbx;*.icpr;*.icns; *.bmp
т.е. найти, если есть ещё файлы со значками, кроме известных расширений, и кстати нашлось достаточно много интересного. Те кто захочет - по-эксперементирует
Ответить