Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idFtp rename ? Funktioniert nicht (https://www.delphipraxis.net/158530-idftp-rename-funktioniert-nicht.html)

nachtstreuner 21. Feb 2011 13:12

idFtp rename ? Funktioniert nicht
 
Hallo Delphianer,

nach längerer Pause mal wieder ein Problemchen, mit der Bitte um Hilfe:

Ich möchte eine Textdatei, die auf einem FTP-Server liegt nach dem abholen(Get), in ein anderes Verzeichnis auf dem gleichen FTP Server verschieben. (MOVE) scheint es ja nicht zu geben, habe es dann mit IdFtp1.rename() versucht. Erhalte dann allerdings eine Fehlermeldung.

Hiermal der Code:
Delphi-Quellcode:
for i:=0 to Listboxl2m.Count-1 do          // solange noch Textfiles in der Listbox sind,
     begin
          name := listboxl2m.Items[i];
          dest := FilePfad+'\'+Name;        // Das Zielverzeichnis
          IdFTP1.Get(Name, dest, true);     // diese Lokal übertragen

          IdFTP1.rename('l2m/new/s20110217152702.txt','l2m/old/s20110217152702.txt');   // verschieben
          MELDUNG := 'FILE : ' + Name + ' ins Old Verzeichnis verschoben !';
          writelog;
     end;
Fehlermeldung : No such file or Directory

Besten Dank schonmal für Eure Ideen

himitsu 21. Feb 2011 13:38

AW: idFtp rename ? Funktioniert nicht
 
Rename gilt nur für die Datei, innerhalb des selben Verzeichnisses (nicht so wie beim Move von Windows).
Das FTP-Protokoll kennt halt kein Verschieben. :cry:

Lösung: runterladen, an anderer Stelle wieder hochladen und das Alte löschen

nachtstreuner 21. Feb 2011 15:06

AW: idFtp rename ? Funktioniert nicht
 
Danke himitsu,

habe jetzt die Lösung gefunden, für Alle die vor dem gleichen Problem stehen. So geht´s komischerweise:
Delphi-Quellcode:
for i:=0 to Listboxl2m.Count-1 do          // solange noch Textfiles in der Listbox sind,
     begin
          name := listboxl2m.Items[i];
          dest := FilePfad+'\'+Name;        // Das Zielverzeichnis
--->         ssource := '/home/mobilized/l2m/new/' + name;
--->         smove := '/home/mobilized/l2m/old/'+ Name;
          IdFTP1.Get(Name, dest, true);     // diese Lokal übertragen
--->         IdFTP1.rename(ssource , smove);   // auf dem Server verschieben;
          MELDUNG := 'FILE : ' + sVERZ + '/'+ Name + ' ins Old Verzeichnis verschoben !';
          writelog;
     end;
Es lag am Pfad, hier muss der gesamte Pfad einschließlich Dateiname angegeben werden.

Trotzdem Danke für Dein Bemühen

Luckie 21. Feb 2011 15:16

AW: idFtp rename ? Funktioniert nicht
 
Wollte gerade sagen, Filezilla kann das Verschieben auf dem Server auch ohne runter- und wieder hochladen.

himitsu 21. Feb 2011 15:29

AW: idFtp rename ? Funktioniert nicht
 
Zitat:

Zitat von Luckie (Beitrag 1083231)
Wollte gerade sagen, Filezilla kann das Verschieben auf dem Server auch ohne runter- und wieder hochladen.

Sicher? Ich war/bin mir sicher, daß daß FTP-Protokoll sowas nicht direkt unterstützt, aber vielleicht gibt es ja teilweise in den verschiedenen FTP-Servern einige "inoffizielle" Erweiterungen, welche Filezilla da ausnutzt :gruebel:
[add]
grad ausprobiert, stimmt, filezilla kann das wohl doch, allerdings beim Ziel macht er es ohne Pfad.

hab im aktuellen Pfad "Bild000.jpg" in "../Bild000.jpg" umbenannt
Zitat:

Befehl: RNFR Bild000.jpg
Antwort: 350 File or directory exists, ready for destination name
Befehl: RNTO /html/DL/Bild000.jpg
Antwort: 250 Rename successful
[/add]


Falls da jemand anderer Erkenntnis ist, kann er mich ruhig berichtigen.
Notfalls könnte man ja mal mitloggen was FileZilla macht, bzw. .... schreibt der die Befehle nicht mit :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 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