jojolino
Goto Top

Per Batch das Vorhandensein einer Datei in einem FTP Verzeichnis erkennen

DOS FTP Problem

Hallo zusammen,

leider konnte ich über die Suche hier im Forum und im Web nichts finden...
Ich möchte per Batch auf einem Windows Server eine Datei via FTP auf einen anderen Server übertragen.
Auf dem Ziel-Server läuft der Filezilla FTP Server und der Upload via Batch funktioniert auch. Nun soll eine Datei aber nur übertragen werden, wenn eine gleichnamige nicht bereits vorhanden ist. Der Upload funktioniert sowieso dann nicht, da der User nur Schreibrechte auf dem FTP Verzeichnis hat und bestehende Dateien nicht ändern, also auch nicht überschreiben darf.
Das Problem ist, sollte der Transfer scheitern (DOS FTP gibt Fehlercode 550 zurück), so soll per Blat eine email versendet werden.
Wie kann ich nun den zurückgegebenen Fehlercode im Batch verwenden?

Die Kommandozeilenausgabe sieht wie folgt aus:

C:\Dokumente und Einstellungen\user\Desktop>ftp -s:connect.txt
ftp> open 192.168.1.1
Verbindung mit 192.168.1.1 wurde hergestellt.
220 Welcome
Benutzer (192.168.1.1face-sadnone)):
331 Password required for username

230 Logged on
ftp> put c:\temp\test.txt test.txt
200 Port command successful
550 Permission denied
ftp> quit
221 Goodbye

Wenn der Transfer gelingt fehlt die Zeile: 550 Permission denied

Content-Key: 100544

Url: https://administrator.de/contentid/100544

Printed on: April 23, 2024 at 12:04 o'clock

Mitglied: 60730
60730 Oct 29, 2008 at 17:15:36 (UTC)
Goto Top
Servus,


Wenn der Transfer gelingt fehlt die Zeile: 550 Permission denied

dann füge doch ganz banal folgende Zeile zu deinem Script dazu:
ftp -s:connect.txt >ftp.log|find "550 Permission denied" ftp.log && call blat.cmd  
..dann noch eine blat.cmd und das war es.

Gruß
Member: jojolino
jojolino Oct 30, 2008 at 07:37:35 (UTC)
Goto Top
Na dann mach ich das doch ganz banal...
Funktioniert! Bin leider nicht ganz so tief in der DOS Script Sprache drin.

Herzlichen Dank!!!