Перебор файлов в директории
От: Кондратюк  
Дата: 10.07.01 06:39
Оценка:
Такие вопрос, как сделать перебор файлов в директории и поддиректориях для их последующей обработки (изменения атрибутов и т.д.).
Может у кого-то завалялся рабочий примерчик, дайте, пожалуйста, мылом или в конференцию ссылку.

Mail: kondrik@mail.ru
.
Re: Перебор файлов в директории
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 10.07.01 06:56
Оценка:
Здравствуйте Кондратюк, вы писали:

К>Такие вопрос, как сделать перебор файлов в директории и поддиректориях для их последующей обработки (изменения атрибутов и т.д.).

К>Может у кого-то завалялся рабочий примерчик, дайте, пожалуйста, мылом или в конференцию ссылку.

void CBaseConverter::RecurseDirs(LPCTSTR pstr)
{
CFileFind finder;
CString strWildcard(pstr);
strWildcard += _T("\\*.*");

BOOL bWorking = finder.FindFile(strWildcard);

while (bWorking)
{
bWorking = finder.FindNextFile();

if (finder.IsDots())
continue;

if (finder.IsDirectory())
{
CString str = finder.GetFilePath();
//попалась директория
RecurseDirs(str);
}else
//попался файл
ProcessFile(finder.GetFilePath(),finder.GetFileName());
}
finder.Close();
}
- А Вы что курите?
— Минздрав предупреждает
Re: Перебор файлов в директории
От: TSI  
Дата: 10.07.01 08:17
Оценка:
Здравствуйте Кондратюк, вы писали:

К>Такие вопрос, как сделать перебор файлов в директории и поддиректориях для их последующей обработки (изменения атрибутов и т.д.).

К>Может у кого-то завалялся рабочий примерчик, дайте, пожалуйста, мылом или в конференцию ссылку.

К>Mail: kondrik@mail.ru


Вот один из способов:

bool CDCTestDlgB::ScanDrive(CString dir /*Каталог: Temp:\*.* */)
{
CFileFind hFile;
hFile.FindFile(dir,0);//Создаем хэндл
int ErCount=0; //Счетчик ошибок FindNextFile
hFile.FindNextFile();//Находим первый файл
do{

if((hFile.IsDirectory())&&(hFile.GetFileName()!=".")&&(hFile.GetFileName()!=".."))//Если элемент — каталог, сканируем его
ScanDrive(hFile.GetFilePath()+"\\*.*");

if((!hFile.IsDirectory())&&(hFile.GetFileName()!=".")&&(hFile.GetFileName()!="..")){//Если это файл, то

//Здесь можно поиграть с именем файла
}



if(!hFile.FindNextFile())//Если не можем найти следующий файл, то увеличиваем счетчик ошибок. Если выйти сразу по первой ошибке, найдутся не все файлы
ErCount++;

}while(ErCount<2);
return true;
}
Удачи!

LOVE & PEACE to everyone
Re[2]: Перебор файлов в директории
От: Кондратюк  
Дата: 17.07.01 09:41
Оценка:
Спасибо, очень выручили!!!
.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.