Prüfen ob Datei existiert auf dem FTP-Server

fC-Marek

dem Board verfallen
Hi,

meine Frage betrift nicht direkt G6, aber hier sind viele FTP-Profis - vielleicht weiss einer. Wie kann ich zuverlässig überprüfen, ob eine Datei auf dem Server existiert. Bis jetzt habe ich mit SIZE <Dateiname> und LIST <Dateiname> probiert, aber es gibt leider server, wo diese Befehle nicht funktionieren. Würde vielleicht NLST für jeden Server funktionieren? Oder gibt es noch was anderes.

Gruß
Marek
 
Zeiten sollten eigentlich immer vorhanden sein, deswegen würde ich es evtl. einmal mit
MDTM <Dateiname>
probieren. Wenn da ein Fehler 550 (No such file or directory) zurück kommt, sollte die Datei nicht existieren, bei Verzeichnissen könnte noch ein 550 (Not a plain file) zurückkommen. In allen anderen Fällen sollte ein 213 YYYYMMDDhhmmss zurück kommen.

Keine Garantie, dass es bei allen klappt, aber einen Versuch ist es bestimmt wert ;)

BTW: Eventuell auch mal mit LS <Dateiname> anstelle von LIST probieren. Ist zwar im Prinzip das selbe, aber einige Server zicken leider, wenn sie das lange Kommando bekommen...

edit: LS will auch nicht überall, ist also keine Option. mdtm scheint derzeit das einzige zu sein, was geht...
 
Zuletzt bearbeitet:
Die Größe müsste auch immer vorhanden sein :), auch 0 wäre eine Größe. Manche Server können aber SIZE nicht. Ich werde MDTM probieren, danke für den Tipp. Noch eine Zusatzfrage hätte ich: bei der Dateiangabe, z.B.
SIZE <Datei>
MDTM <Datei>
sollte man Pfad definieren oder nicht. Wenn man Pfad definiert, verstehen das alle Server? Beispiel: ich bin in Ordner "/extern" , was ist besser
MDTM /extern/myFile.txt
oder MDTM myFile.txt
Ich habe den Eindruck, dass das auch von Server zu Server unterschiedlich sein kann.

Gruß
Marek
 
Gefährliches halbwissen:

Irgendeiner muss den Pfad schon haben.
Im Normalfall ist das der Server (CWD).
 
MaXg, sorry, ich habe wohl deine Antwort nicht verstanden. Meine Frage war welche Syntax (mit Pfad oder ohne) ist besser - sprich: von allen Server akzeptiert.
 
Oben