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.1none)):
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
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.1none)):
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 100544
Url: https://administrator.de/contentid/100544
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
2 Kommentare
Neuester Kommentar
Servus,
Wenn der Transfer gelingt fehlt die Zeile: 550 Permission denied
dann füge doch ganz banal folgende Zeile zu deinem Script dazu:
..dann noch eine blat.cmd und das war es.
Gruß
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
Gruß