Einzelnen Beitrag anzeigen

Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#1

ftp komplettes verzeichniss mit subdirs und files löschen

  Alt 12. Jun 2007, 14:32
hi leute..brauche mal eure hilfe ..wie kann ich von einem ftp server komplette verzeichnisse löschen mit subdirs und allem drum und dran ..ich hab den indy ftp verwendet aber komme hinten und vorne nicht weiter ...weil immer neue subdirs in den main dirs auftauchen...dann habe ich das hier gefunden:
aber damit bekomme ich nichtmal eine ftp verbindung zustande, zudem findet er getfolderpath nicht ...hab alles durchsucht und hier in der source lib ist leider auch kein bsp..wer kann mir da weiter helfen ? danke euch !


Delphi-Quellcode:
procedure DeleteFolderRecursive(hFTP: HINTERNET; Path: String);
var
  hSearch: HINTERNET;
  findData: WIN32_FIND_DATA;
  TempList: TStringList;
  i: Integer;
begin
  TempList := TStringList.Create;
  try
    hSearch := FtpFindFirstFile(hFTP,PChar(GetFolderPath(Path)),findData,0,0);
    repeat
      if findData.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY then
        begin
          if not FtpRemoveDirectory(hFTP, PChar(GetFolderPath(Path))) then
            begin
              TempList.Add(Path + findData.cFileName + '\');
            end;
        end
      else
        begin
          if not FtpDeleteFile(hFTP, PChar(GetFolderPath(Path) + findData.cFileName)) then
            Main_Extras.ErrorPrint('Could not delete File ' + Path + findData.cFileName + '.', 'FTP File Delete Error');
        end;
    until not InternetFindNextFile(hSearch,@findData);
    InternetCloseHandle(hSearch);
    for i:=0 to TempList.Count-1 do
      begin
        DeleteFolderRecursive(hFTP, TempList[i]);
        if not FtpRemoveDirectory(hFTP, PChar(GetFolderPath(TempList[i]))) then
          Main_Extras.ErrorPrint('Could not delete Folder ' + TempList[i] + '.', 'FTP Folder Delete Error');
      end;
  finally
    TempList.Free;
  end;
end;
euer Peter Porka
  Mit Zitat antworten Zitat