Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление каталога в сети, не что не помагает, не знаю в чем причин 
:(
    Опции темы
DenDicar
Дата 18.5.2005, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мне нужно удалить на всех машинах один и тот же каталог.
Я попытался зделать так:

Код

function TMainForm.MyRemoveDir(sDir: string): Boolean;
var
  iIndex: Integer;
  SearchRec: TSearchRec;
  sFileName: string;
begin
  Result := False;
  sDir := sDir + '\*.*';
  iIndex := FindFirst(sDir, faAnyFile, SearchRec);

  while iIndex = 0 do
  begin
    sFileName := ExtractFileDir(sDir)+'\'+SearchRec.name;
    if SearchRec.Attr = faDirectory then
    begin
      if (SearchRec.name <> '' ) and
         (SearchRec.name <> '.') and
         (SearchRec.name <> '..') then
        MyRemoveDir(sFileName);
    end
    else
    begin
      if SearchRec.Attr <> faArchive then
        FileSetAttr(sFileName, faArchive);
     // if not DeleteFile(sFileName) then
      //  ShowMessage('Could NOT delete ' + sFileName);
    end;
    iIndex := FindNext(SearchRec);
  end;
 FindClose(SearchRec);
 RemoveDir(ExtractFileDir(sDir));
 Result := True;
end;


Передаю ей в качестве параметра строку в виде - \\Имя копьютера\c$\Удаляемый каталог

Принципе удаляет.
Почему в принципе, потому что она действительно удаляет все как надо, но тот каталог каторый , раде каторого она писалась не удаляет.
Вот путь каталога - c:\Documents and Settings\All Users\Application Data\Symantec
Все другие каталоги удаляет, я специально создавал их и все работает, но это не в какую.
КАТАЛОГ точно можно удалить т.к. я его удалял.
Что делать, и какие еще есть примеру функций для удаления каталога с его содержимым?
PM MAIL   Вверх
s-mike
Дата 18.5.2005, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

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



Удаление каталога вместе с вложенными подкаталогами
Код
function DeleteDirWithSubdirs(const Path, Mask: string): Boolean;
var
  I: Integer;
  F: TSearchRec;
  S: string;
begin
  I := FindFirst(Path + Mask, faAnyFile, F);
  try
    while I = 0 do
    begin
      if F.Name = '.' then
      begin
        FindNext(F);
        I := FindNext(F);
        Continue;
      end;
      if F.Attr and faDirectory = faDirectory then
      begin
        S := Path + F.Name + '\';
        Result := DeleteDirWithSubdirs(S, Mask);
      end else begin
        S := Path + F.Name;
        FileSetAttr(S, 0);
        Result := DeleteFile(S);
      end;
      if not Result then Abort;

      I := FindNext(F);
    end;
  finally
    FindClose(F);

    {$I-}
    FileSetAttr(Path, 0);
    RmDir(Path);
    {$I+}
    Result := IOResult = 0;    
  end;
end;


Это сообщение отредактировал(а) s-mike - 18.5.2005, 11:12
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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