Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi indy ftp komplettes dir löschen ? (https://www.delphipraxis.net/91016-indy-ftp-komplettes-dir-loeschen.html)

agm65 27. Apr 2007 13:03


indy ftp komplettes dir löschen ?
 
also ich habe eine verbidnung und kann auch einzeknde files löschen aber es gibt keine function deletedir...
wie mache ich das ? bzw gibt es nicht einfache ftp commands die ich ihm schicken kann ?

marabu 27. Apr 2007 13:14

Re: indy ftp komplettes dir löschen ?
 
Hallo Peter,

nimm RemoveDir() an Stelle von DeleteDir().

Grüße vom marabu

agm65 27. Apr 2007 13:16

Re: indy ftp komplettes dir löschen ?
 
ja, das löscht mir aber nur ein dir wenn es keine files mehr enthält und delete(*.*) kennt er auch nicht...also wie kann ich in einem aufwasch files und dir löschen....danke dir marabu

marabu 27. Apr 2007 13:27

Re: indy ftp komplettes dir löschen ?
 
Leider kennt der RFC 959 in diesem Zusammenhang nur die Befehle DELE (Delete) und RMD (RemoveDir). Das vollständige Abräumen eines subtrees im file system des FTP-Servers musst du wohl selbst implementieren - ist aber nicht sehr aufwendig.

Freundliche Grüße

agm65 27. Apr 2007 13:32

Re: indy ftp komplettes dir löschen ?
 
ja sowas dachte ich mir ..also einen loop der alle files löscht und danach das dir removed...

agm65 27. Apr 2007 14:18

Re: indy ftp komplettes dir löschen ?
 
nur falls es jemanden interessiert

Delphi-Quellcode:
procedure TfrmMain.Button2Click(Sender: TObject);
var
i:integer;
ftpDir:string;
begin

     ftpDir := 'kleene_fotze';

     mainftp.Connect;

     if mainftp.Connected = true then
      begin
       memo1.Lines.Add('FTP Status: Connected');
       memo1.Lines.Add('FTP Status: ' + mainftp.RetrieveCurrentDir);

       //
       mainFTP.ChangeDir(ftpDir);
       memo1.Lines.Add('FTP Status: ' + mainftp.RetrieveCurrentDir);
       mainftp.List(listbox.Items ,'',false); //

       //mainftp.ChangeDirUp;
       //memo1.Lines.Add('FTP Status: ' + mainftp.RetrieveCurrentDir);


      for I := 0 to Listbox.Count - 1 do
       begin
       mainFTP.Delete(listbox.Items.Strings[i]);
       memo1.Lines.Add('FTP Status: Datei gelöscht: ' + listbox.Items.Strings[i]);
      end;

      mainftp.ChangeDirUp;
      memo1.Lines.Add('FTP Status: ' + mainftp.RetrieveCurrentDir);

      mainftp.RemoveDir(ftpDir);
      memo1.Lines.Add('FTP Status: DIR - ' + ftpDir + ' gelöscht');


      end
      else
      begin
       memo1.Lines.Add('FTP Status: Connection closed');
     end;


end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz