Михайло » Пт дек 06, 2002 11:26 am
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->с кавычками находит. Но без кавычек то же находит, если не писать расширение. Почему? <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
На самом деле то, как ищет коммандер, знать важно и интересно. Это не веб-поиск, который что-то нашел, что-то не нашел. Файл-менеджер ищет среди ограниченного количества объектов и ОБЯЗАН давать 100% ответ - есть соответствие условию поиска или нет.
Он, естественно, и дает. Только чтобы правильно его понять, нужно знать, как он это условие понял.
Предлагаю следующую версию (естественно, без гарантии, что так оно и есть):
Известно, что поиск на в норме производится по маске файла. Что такое маска и как ее понимать - сформулировано давным-давно и все программы, в которых есть поиск, ведут себя в этом отношении одинаково. Примеры масок и их описания есть, например, в хелпе к ТС.
Но! Еще с какой-то (не буду врать) версии Нортона появился "ламерский" поиск - по нескольким буквам из имени или расширения. Скажем, набираешь просто ABC и ищется все, что содержит эту последовательность. Как я понимаю, при этом имя каждого файла преобразуется в текстовую строку и в ней ищется вхождение искомой подстроки. Это на самом деле другой алгоритм!!! Потому как ABC не является правильной МАСКОЙ и нормальная DOS ничего по ней не найдет!
Так вот (кстати, в хелпе по ТС ничего про "ламерский" поиск не сказано!), последний вопрос: как ТС определяет, ввел пользователь маску или строку? Да, в маске могут быть символы ?* - но могут и не быть! НО! В маске обязательно есть точка!!!
Значит, если мы вводим в поиск строку с точкой, срабатывает строгий поиск по маске. В случае с "Photoshop_Основы коррекции цвета.doc" без кавычек такой поиск не срабатывает, так как в маске не может содержаться пробел (ну это вопрос либо к дельфи, либо к Windows, либо не знаю к кому еще - по крайней мере факт есть факт). То же самое в кавычках - уже не маска, а СТРОКА, срабатывает "ламерский" поиск - и находит.
То же самое без точки и расширения - опять работает "ламерский"!
Вывод: кто хочет искать по маске, должен быть очень внимателен. Кто не хочет - пусть ищет по строке, но при этом избегая точки!!!
Только вот вопрос теперь мучает: а не работает ли поиск по маске быстрее, чем по строке???