System.IO.Directory.GetFiles возвращает другой результат, чем Windows XP Search Companion

Я использую этот оператор для рекурсивного поиска всех файлов:

fileNames = System.IO.Directory.GetFiles(path, "*.*",
    System.IO.SearchOption.AllDirectories);

Общее количество найденных файлов значительно меньше, чем при использовании Windows XP Search Companion. Это не вызвано скрытыми файлами, я проверил это. Похоже, что некоторые каталоги с глубоким уровнем вложенности пропускает GetFiles, но не Windows Search Companion. GetFiles подсчитывает то же количество файлов, что и «dir /s» в командной строке. Кто-нибудь знает?

Спасибо, Нива.


person Community    schedule 09.01.2009    source источник


Ответы (3)


Search Companion просматривает ZIP-файлы. Есть ли у вас какие-либо из них в дереве каталогов?

person James Curran    schedule 09.01.2009

Можете ли вы подтвердить, что исключений нет?

В частности, PathTooLongException?

try {
    fileNames = System.IO.Directory.GetFiles(path, "*.*",
        System.IO.SearchOption.AllDirectories);

} catch (System.IOPathTooLongException) {
    System.Diagnostics.Debug.Fail("Some path is too long to be processed.");

}
person chakrit    schedule 09.01.2009

Системные файлы?


Каков результат:

dir/s/as  
dir/s/ah

У помощника по поиску могут быть включены фильтры, вы это проверяли?

А можно результаты поиска опубликовать?

person chakrit    schedule 09.01.2009