Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2016, 15:08   #11
calypso
Форумчанин
 
Регистрация: 02.12.2012
Сообщений: 250
По умолчанию

Вопрос такой, пишу программу для поиска медиа файлов внутри папок на логических дисках с разной глубиной вложенности, мешают всевозможные системные директории к которым нет доступа. Как можно упростить например такой фильтр:
Код:
if((findfiledata.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)&&(findfiledata.dwFileAttributes||FILE_ATTRIBUTE_SYSTEM)&&
(gcnew String(findfiledata.cFileName)!="Winmend~Folder~Hidden")&&
(gcnew String(findfiledata.cFileName)!="Windows")&&
(gcnew String(findfiledata.cFileName)!="Program Files")&&
(gcnew String(findfiledata.cFileName)!="Program Files (x86)")&&
(gcnew String(findfiledata.cFileName)!="ProgramData")&&
(gcnew String(findfiledata.cFileName)!="Users"))
calypso вне форума Ответить с цитированием
Старый 04.03.2016, 17:44   #12
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Использовать таблицу с именами папок и цикл...
Кроме того, нужно использовать не имена папок а их CSIDL / KNOWNFOLDERID номер, ибо на разных языках имена этих папочек разнятся.
waleri вне форума Ответить с цитированием
Старый 05.03.2016, 01:18   #13
it_dog
Пользователь
 
Регистрация: 02.03.2015
Сообщений: 13
По умолчанию

К каким папкам нету доступа ? Можно использовать смесь whs + язык программирования
it_dog вне форума Ответить с цитированием
Старый 05.03.2016, 02:12   #14
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
мешают всевозможные системные директории к которым нет доступа
чем мешают?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 05.03.2016, 16:59   #15
calypso
Форумчанин
 
Регистрация: 02.12.2012
Сообщений: 250
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
чем мешают?
Функция, которая ищет файлы внутри каталога + определяет размер папки работает некорректно т.к. нет доступа.
Что интересно, проверка findfiledata.dwFileAttributes||FILE _ATTRIBUTE_SYSTEM
вообще никакого эффекта не даёт. Что она есть, что нету
calypso вне форума Ответить с цитированием
Старый 05.03.2016, 17:05   #16
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Функция, которая ищет файлы внутри каталога + определяет размер папки работает некорректно т.к. нет доступа.
ну дык так и было задумано.
игнорируй и всё.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 05.03.2016, 19:17   #17
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от calypso Посмотреть сообщение
Что интересно, проверка findfiledata.dwFileAttributes||FILE _ATTRIBUTE_SYSTEM
вообще никакого эффекта не даёт.
А какого эффекта вы ожидали - здесь проверки нет, вернее она всегда будет выдавать true. Кроме всего прочего, с чего вы взяли, что у этих папок будет установлен этот флаг? Я даже не уверен, что его можно выставлять для папок...
waleri вне форума Ответить с цитированием
Старый 07.03.2016, 12:46   #18
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Если
Цитата:
Сообщение от calypso
Функция, которая ищет файлы внутри каталога + определяет размер папки работает некорректно
то она должна либо давать исключение (если она обёрнута дотнетом, а может даже DllImport сопрягает свою работу в таком случае с выбросом исключения), либо анализировать код ошибки при работе с этой винапи-функцией, следовательно надо изучить документацию и написать простую обработку ошибки, которая покроет все нужные случаи одним условием.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск и удаление файлов Gsmart120 Помощь студентам 4 22.12.2013 23:12
Поиск файлов по маске и нахождения общего размера найденных файлов и вывод в терминал Колямбий Помощь студентам 0 21.04.2013 21:31
Создание/изменение/удаление файлов в потоке. Мониторинг файлов в потоке. The Real Kos Общие вопросы Delphi 5 22.10.2012 23:58
Удаление файлов -Jack- Общие вопросы Delphi 8 15.07.2012 20:14
удаление файлов pufystyj Общие вопросы C/C++ 2 10.11.2010 22:57