Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

FTP Verbindung prüfen per Batch

Mitglied: dbreuer

Hallo,
ich habe ein kleines Problem und hoffe ihr könnt mir helfen.

Ich möchte Dateien per Batch Datei übertragen und danach automatisch löschen.
Wenn aber die FTP Verbindung nicht zustande kommt werden die Dateien trotzdem gelöscht.
Nun brauche ich eine Abfrage, ob die FTP Verbindung erfolgreich war und erst danach sollen die Dateien übertragen werden.
Wenn die Verbindung nicht erfolgreich war soll die Batch einfach beendet werden.

Hier kommt mein Code:

ftp -s:c:\FTP\TEST\ftp.txt test.de
echo %errorlevel%
IF %ERRORLEVEL% EQU 0 goto start
IF %ERRORLEVEL% GRT 0 goto end
:start
echo erfolgreich
goto quit
:end
echo fehler
:quit

In der ftp.txt stehen die Zugangsdaten für den FTP Server drin.
Die FTP Verbindung wird auch erfolgreich ausgeführt.
Aber egal ob den Netzwerkstecker ziehe (simuliert Serverausfall) oder ob es erfolgreich ist, es wird immer der Errorlevel 0 ausgegeben?

Habe auch schon viel gegoogelt und hier im Forum den Tipp mit den Errorleveln gefunden, aber komme jetzt einfach nicht mehr weiter.

Ich hoffe ihr könnt mir helfen.

Dankeschön!

LIebe Grüße
David

Content-Key: 159676

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

Ausgedruckt am: 16.10.2021 um 16:10 Uhr

Mitglied: Skyemugen
Skyemugen 28.01.2011 um 15:43:11 Uhr
Goto Top
Aloha,

als erstes wäre eine <code></code> Formatierung schön für's Auge ;) - als zweites (ohne mich jetzt in den Errorlevel hinein zu denken - ich mag damit nicht arbeiten) könntest du ja die ftp Anmeldung laufen lassen und dann per if exist eine bestimmte file suchen, wenn die gefunden wird, ist die Verbindung aktiv, wenn nicht - dann nicht.

greetz André
Mitglied: miniversum
miniversum 28.01.2011 um 16:34:17 Uhr
Goto Top
IF %ERRORLEVEL% GRT 0 goto end
Funktioniert nicht. GTR heist größer:
EQU - gleich
NEQ - nicht gleich
LSS - kleiner als
LEQ - kleiner als oder gleich
GTR - größer als
GEQ - größer als oder gleich

Mitglied: 60730
60730 28.01.2011 um 19:45:56 Uhr
Goto Top
moin,


bedeutet im Klartext - rufe ftp.exe mit Parameter -s:c:\FTP\TEST\ftp.txt test.de auf.
Ergo nur wenn
  • ftp.exe
  • die Domain Test.de
  • oder die textdatei nicht gefunden wird, kommt ein anderer Errorlevel als 0 zurück.

Du mußt, wenn schon das Feedback von der FTP Session auslesen.
Und die dazugehörige .txt

Der Befehl "Bin" sorgt für das gesuchte 200 Type set to I und das gibt der FTP nicht zurück, wenn er hängt bzw. sollte man ja eh via bin übertragen.
Und man kann das noch ganz anders zimmern, aber so mache ich das.
Lass das einfach zweimal laufen und werte den Unterschied zwischen einer erfolgreichen und einer Übertragung mit Fehler aus.

Gruß
Mitglied: -WeBu-
-WeBu- 03.06.2011 um 20:02:16 Uhr
Goto Top
Ich hole diesen alten thread hoch, weil ich hier endlich die ersehnte Antwort von TimoBeil gelesen habe, daß ftp.exe einfach während einer fehlerhaften Übertragung innerhalb der Befehle von ftp.txt kein errorlevel ungleich 0 setzt.

Die Abfrage, ob der bin-Befehl gutging ("200 Type set to I"), ist ganz ok, aber ob dann auch die Übertragung gutging, weiß man nicht. Besser ist da die Abfrage auf "226 Transfer complete. Closing data connection." Für EINE Datei geht das, für mehrere nicht.

Aber, vielleicht könnte man überlegen, ob man eine komplette Übertragung per ftp.exe auch OHNE -s:ftp.txt hinbekommt. Wenn man einfach ALLES irgendwie auf eine Kommandozeile packt, also servername, user, passwort, local-file, server-file und wenn dann dabei irgendwas(!) schiefgeht, hat man (vielleicht) einen errorlevel, oder?

Wie aber bekommt man alles in einen ftp.exe-Aufruf?
Mitglied: 60730
60730 03.06.2011 um 21:02:46 Uhr
Goto Top
moin,

ganz einfach...
  • garnicht - oder besser/genauer (ich wüßte aus dem Stehgreif nicht wie)
...sondern anders.

  • bau dir ein Grundgerüst
kopiere dieses Grundgerüst in einer Schleife zu einer temp. Datei
füge während der Schleife
dazu und ein abschliessendes
quit
und schicke jede einzelne Datei / Ordner einzeln auf den FTP Server
  • oder suche nach "error /timeout"usw. in der "logdatei"
Nur weißt du dann wirklich nicht, wo es klemmt.

gruß
Am Montag bin ich wieder in der Windowswelt, vielleicht fällt mir ja doch noch was anderes ein.
Mitglied: -WeBu-
-WeBu- 03.06.2011 um 21:15:09 Uhr
Goto Top
Argh, das ist Aufwand.

Für meine eine Datei(!!) habe ich jetzt, wie erwähnt, deinen vorherigen Vorschlag abgewandelt und frage das ftpcheck.log genau auf das Vorhandensein von dem string "226 Transfer complete. Closing data connection." ab. Geht was schief, dann kommt dieser String nicht und ich lass mir per notepad sofort das log vorlegen, denn ich muss beim Übertragen einfach SOFORT wissen, ob alles geklappt hat und nicht erst einen Morgen später (per server-log-check o. ä.)

Bei der Gelegenheit habe ich einen bug bei strato festgestellt. Um auf Fehler zu checken, habe ich bei meinen Versuchen ans korrekte Passwort weitere Zeichen angehängt, ABER KEINEN FEHLER BEKOMMEN! :-( face-sad Ein Strato-Server prüft offensichtlich zeichenweise und wenn genügend richtige Zeichen "da" sind, isser glücklich! Ich glaub das einfach nicht und ich wußte das auch nicht. Ist das bekannt?
Heiß diskutierte Beiträge
question
Achtung VMware, Inc. - SCSIAdapter - 1.3.18.0 virtuelle Server starten nicht mehrBl0ckS1z3Vor 1 TagFrageWindows Server5 Kommentare

Hallo Admins, ich habe heute über das VMware, Inc. - SCSIAdapter - 1.3.18.0 Treiberupdate aus den Windows Updates auf einem virtuellen Server Windows 2012 R2 ...

question
WIN 10 pro for workstations - Was genau ist das?toddehbVor 1 TagFrageWindows 1017 Kommentare

Hi, bin das erste mal über einen PC mit Win 10 Pro for workstations gestolpert und frage mich, was an dieser Edition anders ist, als ...

report
Ist FSLogix das Gelbe vom Ei?dertowaVor 1 TagErfahrungsberichtWindows Userverwaltung8 Kommentare

Hallo allerseits, ich habe mich die letzten Tage eingehend mit FSLogix in meinem Lab befasst und bin noch ein wenig zweigeteilter Meinung. Aktuell produktiv im ...

question
Hotel - Gast WLAN - Hotspot Aufbau und Sicherheit-Haftungaif-getVor 1 TagFrageLAN, WAN, Wireless12 Kommentare

Hallo zusammen, ich würde gerne bei einem Bekannten, der ein kleines Hotel (30 Zimmer - 3 Unify APs) besitzt ein Gäste WLAN aufsetzen, möglichst mit ...

question
VOIP BasisstationWolf6660Vor 1 TagFragePeripheriegeräte18 Kommentare

Hi, ich will meine FritzBox gegen einen MikroTik RB4011iGS+5HacQ2HnD-IN austauschen. Nun benötige ich aber einen VOIP Basisstation. Natürlich könnte ich meine 7590 dazu benutzten aber ...

question
Portbasierten vLans als Ersatz von unabhängigen Switches gelöst cheechybaVor 1 TagFrageNetzwerkmanagement10 Kommentare

Guten Tag liebe Community, im Anhang habe ich eine einfach Skizze angefügt um folgende Idee zu diskutieren und um Hilfe bei der Umsetzung zu bitten. ...

question
CAD Mobil in rauer Umgebunggansa28Vor 1 TagFrageHardware4 Kommentare

Hallo zusammen, Zu meinem Problem: Mein Schwieger Vater bekommt in seinem Metall Produzierenden Gewerbe zwei neue CAD Arbeitsplätze die eine recht hohe Hardware Anforderung haben, ...

general
Automatische Dokumentation von Vorgängen mit Kamerapassy951Vor 1 TagAllgemeinSonstige Systeme6 Kommentare

Hallo zusammen, ich wende mich mal an euch, da ich nicht weiß wie ich das lösen soll bzw. ob es sowas überhaupt zu kaufen gibt. ...