Поиск недокачанных изображений
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5  Next  :| |:
Total Commander -> Автоматизация Total Commander

#31:  Author: SVM PostPosted: Fri Sep 26, 2014 20:04
    —
Skif_off
хоткей я уже добавил.
Skif_off wrote:
А чем плох Alt+Tab?

Что-то я не нашёл, как с помощью Alt+Tab можно свернуть скрипт в трей.
Я не сварачиваемые окна сварачиваю с помощью Caesar, но такая функция в скрипте не помешала бы.

#32:  Author: Skif_off PostPosted: Fri Sep 26, 2014 21:05
    —
SVM wrote:
Что-то я не нашёл, как с помощью Alt+Tab можно свернуть скрипт в трей.

Alt+Tab позволяет быстро переключать окна.

#33:  Author: SVM PostPosted: Tue Sep 30, 2014 13:48
    —
Skif_off
У меня во время проверки большого колличества jpeg файлов, скрипт иногда зависает. Висит в процессах, нагружая процессор на 50%, в это время JpegTran.exe из процессов изчезает.

#34:  Author: Skif_off PostPosted: Tue Sep 30, 2014 15:11
    —
В качестве слабого компа выступал HP Pavilion dm1-4000er (только на аккумуляторе - сбалансированный/энергосберегающий режим + Avast)
- Снижена нагрузка на процессор со стороны AutoIt.exe - не более 2-4% максимум).
- Процесс jpegtran.exe считается зависшим спустя 30 секунд (подобрано подсчетом времени оптимизации больших файлов - пачки 50ти метровых JPEG (на одном из файлов (10843x6920) jpegtran.exe отожрал ~540 Мб ОЗУ, 200 Мб и 21672x13820 не прожевал, имейте в виду (в логе будет Insufficient memory (case 4))) после запуска и принудительно завершается с записью в лог.
- Возможно увеличение времени работы на большом количестве мелких (типа 20-200 кб) файлов, хотя на большом количестве типичных фоток с мыльницы, наоборот, наблюдал уменьшение времени на ~13%.
 Скрипт:

 Для полной самодостаточности в конец скрипта скопировать из FileOperations.au3 функции:

З.Ы. На нормальном, достаточно современном десктопе с не самыми медленными хардами и более чем одним ядром (антивируснику же надо нагнуть систему), можно попробовать поставить Opt('WinWaitDelay', 50): выигрыш от 2% и далее на разнородных файлах (ну и на большом количестве).


Last edited by Skif_off on Tue Oct 07, 2014 10:32; edited 2 times in total

#35:  Author: Skif_off PostPosted: Wed Oct 01, 2014 13:04
    —
Если кому-нибудь интересно: проверил работу с over MAX_PATH - нормально
 с небольшим изменением скрипта

(предполагается, что скрипт, jpegtran.exe и начальный каталог лежат в пределах MAX_PATH), но только на Win7 (и выше, вероятно) Sad На WinXP SP(2|3) не срабатывает, если путь длиннее MAX_PATH, ищу решение, возможно - тупо прикручу проверку версии ОС. Или забить и просто чуть изменить текст ошибки на Can't open file for reading (Unicode or MAX_PATH?), т.к. с префиксом "\\?\" всё равно работает.

Кстати, с умляутами и вообще юникодом jpegtran.exe не сработает, в лог попадет запись вида:
%путь к jpegtran%\jpegtran.exe: can't open \\?\%путь к файлу%\%имя файла с заменой проблемных символов на похожий из класс. латиницы%.jpg for reading
С случае ещё и длинных путей получается ппц: на тестовой папке в лог попала строка с 753 символами, чтобы подсократить,
 можно

Как скажется на скорости - не проверял.

#36:  Author: SVM PostPosted: Mon Oct 06, 2014 14:49
    —
Skif_off
Хорошо если было бы возможно переместить найденные недокаченные фотографии с сохранением структуры папок, через gui или например, как в CloneSpy создавался bat файл.

#37:  Author: Skif_off PostPosted: Mon Oct 06, 2014 23:41
    —
SVM
В jpgerror.txt между именем файла и текстом ошибки вставляется табуляция, как раз на случай использования в качестве разделителя в любом табличном процессоре (LibreOffice Calc/Microsoft Excel/PlanMaker (SoftMaker Office)/Spread32), но это, конечно, если только вручную.
Надо подумать, но перемещение - это запись на носитель, если только опцию с копированием.

И не все будут недокачанными - что-то не получится открыть из-за размера или длинного пути, как минимум: не искал все сообщения jpegtran, только то, что можно смоделировать переименованием и HEX-редактором (пока тестировал).

#38:  Author: Skif_off PostPosted: Tue Oct 07, 2014 05:16
    —
Усложнён обработчик ошибок для диалога выбора каталога, теперь сразу вылезет сообщение об ошибке и будет предложено повторить, если пользователь вдруг промахнётся и выберет "Компьютер", "Панель управления" или что-то в этом духе.

#39:  Author: Skif_off PostPosted: Sun Sep 06, 2015 19:43
    —
Скрипт AutoIt:
- заново сделан GUI;
- в поле ввода пути поддерживается drag and drop;
- закрытие необходимо подтверждать (дважды случайно закрыл);
- несколько ускорена проверка (ошибка не пишется сразу в файл, а добавляется в переменную и записывается всё разом);
- префикс для длинных путей (больше MAX_PATH) используется по умолчанию (на WinXP путь обрезается, решение (пока) не нашёл, разработчикам jpegtran писал - не ответили);
- добавлена возможность использовать файл-список (например, результат поиска): *.tmp для ТС и *.lst для DC, список должен быть в UTF-16LE;
- скрипты нумеруются начиная с 1, на случай запуска нескольких копий (число дописывается в имена временных и лог-файлов, в заголовок окна и заголовки сообщений).

Скрипт сделан полностью самодостаточным, писалось и проверялось с AutoIt версии 3.3.8.1.

Все временные файлы создаются в %Temp%, чтобы исключить запись на носитель (в WinPE в случае нештатного завершения работы ОС лог будет потерян).
Закрытие скрипта крестиком или Alt+F4 просто завершит его работу, прерывание задания только клавишей Esc! В этом случае будет показан результат на текущий момент.

Остальное, включая список поддерживаемых параметров запуска см. в комментариях в начале скрипта. Смотрите примечание!
 Скрипт

 Использование:


Last edited by Skif_off on Mon Apr 23, 2018 23:43; edited 20 times in total

#40:  Author: Skif_off PostPosted: Wed Sep 23, 2015 14:53
    —
Скрипт AutoIt: убраны лишние константы; уточнения в комментариях.

#41:  Author: Skif_off PostPosted: Fri Oct 23, 2015 16:40
    —
Скрипт AutoIt:
- параметр запуска "recurs" заменён на "--recurs";
- скрипты нумеруются начиная с 1, на случай запуска нескольких копий (число дописывается в имена временных и лог-файлов, в заголовок окна и заголовки сообщений).

Для понимающих или желающих: попробовал добавить открытие лога не в редакторе по умолчанию для *.txt, а в редакторе из настроек ТС или DC. Для TC допустимые значения ключа Editor - варианты типа
 Hidden text

DC не дописывает "%1". Поддерживаются %COMMANDER_PATH% и %COMMANDER_DRIVE%.
Не уверен на 100%, пока не добавил, идеи приветствуются. Как добавить самостоятельно:
- перед строкой
Code:
#Region ;FileOperations.au3, 1.8.5 (2014.05.26)

вставить функцию
 Hidden text

- заменить в двух местах
Code:
ShellExecute($sTemp & '\jpgerror' & $Num & '.txt')

на
Code:
__OpenLog($sTemp & '\jpgerror' & $Num & '.txt')

#42:  Author: Skif_off PostPosted: Tue Oct 27, 2015 06:08
    —
Скрипт AutoIt:
- исправлена ошибка в случае использования списков файлов: туперь пустая строка в конце убирается.
- правка имён переменных.

#43:  Author: Skif_off PostPosted: Tue Dec 13, 2016 03:45
    —
Скрипт обновлён:

- исправлено получение индекса для окна/лога/временного файла
 Hidden text

- теперь статус (индикатор общего количества файлов и файлов с проблемами) не будет сбрасываться сразу после открытия лога, а только после начала нового поиска;
- исправлено время и условие закрытия дескриптора лог-файла (в некоторых случаях могла вылезти ошибка доступа к файлу);
- добавлена возможность указать в поле ввода имена папок для исключения из поиска, формат записи:
Quote:
ваша папка для поиска|папка для исключения1|папка для исключения2

или
Quote:
полный путь к файлу-списку|папка для исключения1|папка для исключения2

Имя папки для исключения ищется в любом месте полного имени файла!
В поле ввода кавычки не нужны, а при запуске с параметрами необходимо брать в кавычки всю строку целиком.
- добавлена возможность использовать в поле ввода переменные окружения;
- значительно уменьшен размер скрипта: из главной функции UDF FileOperations.au3 убрано неспользуемое и выпилены ставшие ненужными доп. функции.

Добавлено спустя 23 минуты:

Скрипт обновлён:

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


Добавлено спустя 20 минут:

Скрипт обновлён:

- исправлено зацикливание при попытке прервать задание нажатием клавиши Esc.

#44:  Author: Skif_off PostPosted: Thu Dec 15, 2016 22:04
    —
Скрипт обновлён:

- добавлена проверка существования jpegtran.exe.
- мелкие правки.

Если делать копирование проблемных файлов, то сохранять ли все метки дат? Учитывая, что может быть использован файл-список, копирование проще с сохранением полного пути.
Как-то это смущает несколько: файл может быть просто большим или его имя содержит юникод, может, Jpegtran тупо завис - такие файлы попадают в список проблемных.

Добавлено позже:
Пожалуй, проще генерировать батники...

#45:  Author: Skif_off PostPosted: Fri Dec 16, 2016 18:53
    —
Скрипт обновлён:

- добавлена возможность сгенерировать два cmd-файла - для копирования и удаления файлов. Кнопка будет доступна только если найдены файлы с проблемами (Смотрите примечание в начале скрипта!). Необходимо будет указать каталог назначения, дерево каталогов будет создано командами mkdir (если не отключали режим расширенной обработки команд);
- изменены имена создаваемых файлов;
- дополнительные проверки/обработка ошибок;
- прочие небольшие правки.

 Имена создаваемых файлов:


Описание в начале скрипта, в комментариях. Смотрите примечание! Это примечание дописывается и в комментарии в создаваемые cmd-файлы.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5  Next  :| |:
Page 3 of 5

Powered by phpBB © 2001, 2005 phpBB Group