Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Поиск недокачанных изображений
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
plvtor



Joined: 11 Nov 2007
Posts: 10

Post (Separately) Posted: Wed May 14, 2008 03:51    Post subject: Поиск недокачанных изображений Reply with quote

Как и чем можно произвести поиск "битых" картинок (jpg, gif), по каким критериям можно оценить, что у файла нет конца ?

Если для html достаточным условием будет поиск по /html c опцией "файл НЕ включает".
То для JPG, несмотря на то что у него вроде есть постоянные завершающие символы FF D9 (hex), но в бинарной структире они могут встречаться не только в конце.


Или, если невозможно проделать это стандартным поиском тотала, может есть какие-то утилиты?
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1473
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Wed May 14, 2008 15:53    Post subject: Reply with quote

1. При поиске \xFF\xD9$ с включёнными регулярными выражениями вероятность найти битый файл будет больше.

2. Написать контентный плагин для поиска битых файлов.
Будет работать быстрее встроенного поиска, потому как читать будет только конец файла.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
plvtor



Joined: 11 Nov 2007
Posts: 10

Post (Separately) Posted: Sat May 17, 2008 02:09    Post subject: Reply with quote

Поиск по отсутствию FFD9 не полностью все находит, но нашел утилитку для поиска дупликатов картинок, которая еще и проверяет на целосность файлы.

AntiDupl



И еще вопрос по поиску.
Можно ли найти те каталоги в которых НЕ находится определенный файл?
Back to top
View user's profile Send private message
DrShark



Joined: 21 Oct 2006
Posts: 890
Location: Kyiv, Ukraine

Post (Separately) Posted: Sat May 17, 2008 13:32    Post subject: Reply with quote

Quote:
И еще вопрос по поиску.
Можно ли найти те каталоги в которых НЕ находится определенный файл?

Всторенными средствами, вроде бы, нет.
Я написал пожелание для плагина DirSizeCalc. Посмотрим, что скажет автор.
Также, думаю, эту задачу можно реализовать с помощью Script content plugin.
EDIT:
Это, вроде, как раз то, что нужно:
http://forum.wincmd.ru/viewtopic.php?t=9139
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4815

Post (Separately) Posted: Sat May 17, 2008 17:25    Post subject: Reply with quote

Quote:
Написать контентный плагин для поиска


конт. плагин
уже есть: только поля "это бттое изображение" нет.

А утилитка была бы удобнее
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 38

Post (Separately) Posted: Wed Sep 30, 2009 13:02    Post subject: Reply with quote

AntiDupl опять же не находит все битые изображения, простая проверка, захожу в каталог вижу 2000 изображений, открываю одно любое XnView-ом, перехожу в режим просмотра экскизов, Вид - открытками, XnView начинает к(х)ешировать изображения, и создает открытки (экскизы) только для тех, которые он читает, а нечитаемые просто непоказывает.

В этом же каталоге, создаю папку с произвольным именем, кидаю туда, все отк(х)ешированные XnView-ом файлы, переключаюсь на тотал, и вижу всё, что не смог XnView прочитать, тоесть это наши недокачанные файлы, и тут приходит понимание что AntiDupl не панацея.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1722
Location: Арзамас

Post (Separately) Posted: Sun Nov 29, 2009 20:23    Post subject: Reply with quote


::::::::::::::::::::::::: jpgtest.cmd :::::::::::::::::::::::::
@echo off &chcp 1251 >nul
setlocal enableextensions

rem Тест с логом JPEG-файлов с ошибками. Используется jpegtran.exe
rem Параметры: /S - тест файлов в подкаталогах
rem Автор: Tol!k
rem Файл jpgerror.txt содержит строки
rem Not a JPEG file:
rem Corrupt JPEG data:
rem Premature end of
rem Empty input file
rem Invalid JPEG file structure:
rem JPEG datastream contains no image

set "jpg=*.jpg *.jpeg *.jpe"
if /i "%1"=="/s" (set "subdir=/s") else set "subdir="
if exist %tmp%\jpgtest.tmp exit /b
dir %jpg% /b %subdir% >%tmp%\jpgtest.tmp

set "err=%~dp0\jpgerror.txt"
if not exist "%err%" (
echo Not a JPEG file:>"%err%"
echo Corrupt JPEG data:>>"%err%"
echo Premature end of>>"%err%"
echo Empty input file>>"%err%"
echo Invalid JPEG file structure:>>"%err%"
echo JPEG datastream contains no image>>"%err%"
)
for /f "delims=" %%f in (%tmp%\jpgtest.tmp) do (
title %%f
jpegtran.exe -optimize "%%f" %tmp%\testtmp.jpg 2>&1|findstr /g:"%err%" &&(
echo %%f &echo.
echo %%f>>jpgerror.lst
)
)
title Done.
del /q %tmp%\testtmp.jpg
if exist jpgerror.lst (
echo JPEG-файлы с ошибками:
type jpgerror.lst |more
) else echo OK.
del /q %tmp%\jpgtest.tmp
pause &exit /b
::::::::::::::::::::::::: jpgtest.cmd :::::::::::::::::::::::::
Back to top
View user's profile Send private message
aLLigator



Joined: 01 Dec 2011
Posts: 146
Location: из тех ворот, что и весь народ...

Post (Separately) Posted: Mon Dec 09, 2013 15:09    Post subject: Reply with quote

С поиском по начальному FFD8 и конечному FFD9 тегу JPEG справился с помощью плагина decHEXwdx.
А вот как быть если файл оказался забит нулями в середине файла?
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1010

Post (Separately) Posted: Tue Dec 10, 2013 15:16    Post subject: Reply with quote

aLLigator
А чем вас не устраивает батник чуть выше?
Back to top
View user's profile Send private message
Mailk



Joined: 16 Jan 2010
Posts: 157

Post (Separately) Posted: Wed Feb 05, 2014 00:29    Post subject: Reply with quote

Была у меня история такая же (востановление инфы после того как туда уже записали). Решил с помощью контекстного плагина по зачитки разрешения и еще чего то. Вопщем битые картинки не показывали инфу и вуаля сортирнул по этой колонки и перенес кривые. После запустил просмотр экскизов и все эти картинки были пустые (чернота). Вот так за 5 минут сортирнул нескольк тысяч картинок причем в разных директориях их было штук 300 (контр+Б).
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1010

Post (Separately) Posted: Wed Feb 05, 2014 16:50    Post subject: Reply with quote

Mailk wrote:
После запустил просмотр экскизов и все эти картинки были пустые (чернота).

Сомнительный критерий, бывают случаи, когда миниатюра цела, а все остальное - битое.
Батник от Tol!k самое оно.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1010

Post (Separately) Posted: Tue Sep 16, 2014 02:53    Post subject: Reply with quote

У меня по-ходу с лыжами что-то, подскажите, пожалуйста, кнопку для скрипта от Tol!k.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11593
Location: Москва

Post (Separately) Posted: Tue Sep 16, 2014 09:23    Post subject: Reply with quote

Skif_off
На вскидку: убрать путь запуска, положить батник рядом с jpegtran.exe, прописать параметром /S.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1722
Location: Арзамас

Post (Separately) Posted: Tue Sep 16, 2014 17:38    Post subject: Reply with quote

в пути к %tmp% нет пробелов?
не остался ли неудалённый %tmp%\jpgtest.tmp ?
Quote:
положить батник рядом с jpegtran.exe
надёжнее – в папку, прописанную в %path%
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1010

Post (Separately) Posted: Tue Sep 16, 2014 19:42    Post subject: Reply with quote

Flasher, а путь к файлам как передать? Smile

Tol!k
С %tmp% вроде нет проблем, перед запуском проверял, при необходимости удалял %tmp%\jpgtest.tmp вручную.

Как правильно передать параметры в кнопке? В поле параметров %P%N для одного файла и /S "%P" для рекурсивной обработки пачки, так?
Не срабатывает. Тестовый файл или один из пачки калечил в Hex-редакторе. Точно помню, что работало Smile, даже в теме восстановления инфы на руборде писал, чего не стал бы делать без проверки.
Пара мыслей:
1. Дело в версии jpegtran.exe, который я успел обновить до актуальной везде, где используется. Нагуглил и накачал из разных мест архивы с 2011 по 2014 гг., но пока не проверил. Хотя jpegtran.exe /? штатно срабатывает.
2. Есть вероятность, что дело в WinPE, несколько раз замечал, что батники, пользующие %temp%/%tmp% косячат иногда, как будто не всегда "понимают" где, собственно, находятся переменные или криво раскрываются (%~dp0 в т.ч.), хотя все файлы создавались где должны.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group