C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Удалить файлы папки и файлы с корня диска  (Прочитано 1358 раз)
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


Удалить файлы папки и файлы с корня диска
« : 25 Июнь 2014, 11:42:17 »

Подскажите, как удалить все папки и файлы с корня диска? Если в функцию ниже передать букву диска, то ничего не происходит. Как исправить?
Спасибо.
Код
bool DeleteDir(AnsiString DirName)
{
TSearchRec sr;
if (DirName.Length())
{
if (!FindFirst(DirName+"\\*.*",faAnyFile,sr))
do
 {
 if (!(sr.Name=="." || sr.Name==".."))
  if (((sr.Attr & faDirectory) == faDirectory ) ||
  (sr.Attr == faDirectory))// найдена папка
   {
FileSetAttr(DirName+"\\"+sr.Name, faDirectory );// сброс read-only
   DeleteDir(DirName+"\\"+sr.Name);//рекурсивно удаляем содержимое
   RemoveDir(DirName + "\\"+sr.Name);// удаляем теперь уже пустую папку
   }
   else// иначе найден файл
{
FileSetAttr(DirName+"\\"+sr.Name, 0);// сброс read-only
   DeleteFile(DirName+"\\"+sr.Name);// удаляем файл
   }
 }
while (!FindNext(sr));// ищем опять, пока не найдем все
FindClose(sr);
}
RemoveDir(DirName);
return true;
}
 
Записан
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


« Ответ #1 : 25 Июнь 2014, 19:05:41 »

Нет, работает. Забыла с именем диска передать двоеточие.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.043 секунд. Запросов: 21.