Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удалить файлы в директории 
:(
    Опции темы
antoshka1303
Дата 21.6.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



 Как можно удалить все файлы в директории? Заранее спасибо всем!! 
PM MAIL   Вверх
Rififi
Дата 21.6.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 1
Всего: 36



antoshka1303, 
перебором всех файлов в этой директории и unlink каждому
чуть гореморойнее и с завязкой на winapi - SHFileOperation
PM MAIL   Вверх
Dmi3ev
Дата 22.6.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



я бы посоветовал FindFirst и FindNext использовать для поиска файлов, а еще Delete, я дома посмотрю, я в свое время писал Cleaner для себя, найду, скину исходники  smile а исходники точно где-то были, я им пользуюсь.


--------------------

PM MAIL   Вверх
jonie
Дата 22.6.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



Код

WIN32_FIND_DATA fd;
ZeroMemory(&fd, sizeof(fd)); 
HANDLE h = FindFirstFile(m_folder+TEXT("*.*"), &fd);
if(INVALID_HANDLE_VALUE!=h)
{
  do {
    if(FILE_ATTRIBUTE_DIRECTORY&fd.dwFileAttributes)  continue;
    if(FILE_ATTRIBUTE_READONLY&fd.dwFileAttributes){
       SetFileAttributes(m_folder+fd.cFileName, FILE_ATTRIBUTE_NORMAL);
    }
    DeleteFile(fd.cFileName);
  }while (FindNextFile(h,&fd));
FindClose(h); 
}

писал прямо тут, так что могут быть незначительные ошибки.. но с виду все ок...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dmi3ev
Дата 22.6.2008, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



я не нашел исходников своего cleaner-а,  ну да ладно, вот так:
Код

TSearchRec sr;
AnsiString dir="D:\\Директория";
ChDir(dir);
if (FindFirst("*.*", faArchive, sr)==0)
do
 {
  DeleteFile(sr.Name);
 }
while (FindNext(sr)==0);



--------------------

PM MAIL   Вверх
Palladin
Дата 22.6.2008, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Код

SHFILEOPSTRUCT
sh;
sh.hwnd = GetSafeHwnd();
sh.wFunc = FO_DELETE;
sh.pFrom = "c:\\test\0";
sh.pTo = NULL;
sh.fFlags = FOF_NOCONFIRMATION |
FOF_SILENT;
sh.hNameMappings = 0;
sh.lpszProgressTitle = NULL;
SHFileOperation (&sh);


Этот код удалит всё дерево каталогов, начиная с "c:\ test" и включая его.

P.S. C++ World рулит smile 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.