BeardFury78 писал(а):Заметил, что во время проверки файл jpegtest.jpg в папке Temp на системном диске C:\ постоянно меняет свой размер и дату. Кажется это сюда копируются изображения во время проверки.
Немного не так, Jpegtrun сжимает изображение и сохраняет в %Temp% результат, результирующее изображение будет поменьше размером, но, в общем, не очень значительно. Сделано так по простому соображению: если вам когда-нибудь приходилось сталкиваться с необходимостью восстановления данных с жёсткого диска, вероятно, вы знаете, что в таком случае нельзя ничего писать на носитель, только чтение.
Тут дело может быть не только в дисках, ведь идёт сжатие. Можете озвучить вашу конфигурацию? Процессор, диски, ОС? Для тестов в качестве слабого компа использовал
HP Pavilion dm1-4000er, каких-то особых проблем не заметил.
Могу добавить, опционально, возможность писать в выбранный для тестирования каталог с изображениями, не могли бы вы проверить и сравнить поведение? Полагаю, вы используете версию
отсюда, тогда так
[cut]
[/cut]
Это набросок, надо подумать, как всё это аккуратно добавить, если что. Скрипт подсократил, убрал возможность генерировать батники и возможность протестировать файлы по списку, временный файл будет писаться в корень каталога, указанного в поле ввода (даже если отмечено "Рекурсивно"), лог-файл всё так же будет сохранён в %Temp%.
В планах есть:
- подсказали идею: попробовать результат отправлять в nul, тогда можно сэкономить ресурсы на запись его на жёсткий диск;
- попробовать использовать
Jpeginfo, пользователь на Ру-борде предложил и скомпилировал версию для Windows с libjpeg проекта libjpeg-turbo: если результат проверки будет таким же, то можно немало выиграть;
- посмотреть, возможно ли использовать
jpeg62.dll напрямую, с
DllCall() (проблема не только в структуре).
Вот только никак руки не дойдут засесть

И у п.2 есть проблема: неизвестно, какие именно ошибки может найти, а что пропустит в сравнении с jpegtran (т.к. с jpegtran происходит оптимизация таблицы Хаффмана, то для сжатия потребуются всё содержимое файла). Возможно, есть смысл покопаться в исходниках и найти все сообщения об ошибках...
Опять же, охватить все возможные проблемные файлы не могу, для теста повреждённые JPEG'и получаю тривиально, в hex-редакторе.