Stapelverarbeitung mit FTP-Übertragung

Stapelverarbeitung mit FTP-Übertragung

Ich habe versucht, eine Datei mit einer Batchdatei von meinem FTP-Server herunterzuladen. Folgendes passiert:

ftp> open files.000webhost.com 21
Connected to us-east-1.route-1000.000webhost.awex.io.
220 ProFTPD Server (000webhost.com) [::ffff:145.14.145.124]
500 OPTS UTF8 not understood
User (us-east-1.route-1000.000webhost.awex.io:(none)):
331 User ***** OK. Password required

230-Your bandwidth usage is restricted
230 OK. Current restricted directory is /
ftp> lcd C:\Users\micah\Desktop\MiniventureLauncher\Game
Local directory now C:\Users\micah\Desktop\MiniventureLauncher\Game.
ftp> cd public_html
250 OK. Current directory is /public_html
ftp> binary
200 TYPE is now 8-bit binary
ftp> recv miniventure.jar
200 PORT command successful
150-Connecting to port 50186
150 13336.1 kbytes to download

Dann hört es einfach auf. Hier ist der Code in meiner Batchdatei:

@Echo Off
Set _FTPServerName=files.000webhost.com 21
Set _UserName=*****
Set _Password=*****
Set _LocalFolder=C:\Users\micah\Desktop\MiniventureLauncher\Game
Set _RemoteFolder=public_html
Set _Filename=miniventure.jar
Set _ScriptFile=transfer
:: Create script
 >"%_ScriptFile%" Echo open %_FTPServerName%
>>"%_ScriptFile%" Echo %_UserName%
>>"%_ScriptFile%" Echo %_Password%
>>"%_ScriptFile%" Echo lcd %_LocalFolder%
>>"%_ScriptFile%" Echo cd %_RemoteFolder%
>>"%_ScriptFile%" Echo binary
>>"%_ScriptFile%" Echo recv %_Filename%
>>"%_ScriptFile%" Echo quit
:: Run script
ftp -s:"%_ScriptFile%"
Del "%_ScriptFile%"

Es wird eine Verbindung zum Server hergestellt, die Datei wird jedoch nicht heruntergeladen.

Antwort1

Wie @martin-prikryl in den Kommentaren andeutet, handelt es sich mit ziemlicher Sicherheit um ein Problem mit der Windows-Firewall.

Während Windows ftpohne besondere Berechtigung eine Verbindung zu einem Remotehost herstellen kann, müssen zum Herunterladen von Dateien eingehende Remoteübertragungen durch die Windows-Firewall ausdrücklich zugelassen werden.

Eingehende Überweisungen zulassen

Wenn keine Windows-Firewall-Regeln für Windows vorhanden sind ftp, sollten Sie bei der Ausführung mit dem recvBefehl aufgefordert werden, automatisch eingehende Regeln zur Windows-Firewall hinzuzufügen. Das markierte Kontrollkästchen Private networks [...]sollte standardmäßig aktiviert sein. Drücken Sie dieErlauben den ZugriffSchaltfläche, um Ihrer Windows-Firewall die entsprechenden Regeln hinzuzufügen.

Beispiel: Downloads über Windows ftp.exe zulassen

Windows-Firewall-Regel hinzufügen - Screenshot

Sie müssen das markierte Kontrollkästchen nicht aktivieren, Public networks [...]es sei denn, Sie möchten Windows ftpunterwegs verwenden. Sie müssen Administrator sein, um Firewall-Regeln anzupassen.

Beachten Sie, dass dadurch der aktuelle Download leider nicht fortgesetzt werden kann. Sie müssen den aktuellen Vorgang abbrechen (normalerweise mit Ctrl+ C) und es erneut versuchen.

Es wird kein Firewall-Popup angezeigt

Wenn die Übertragung hängt und kein Popup mit den Firewall-Regeln angezeigt wird, bedeutet dies höchstwahrscheinlich, dass bereits Regeln in der Windows-Firewall für Windows vorhanden sind ftp(diese werden hinzugefügt, auch wenn Sie zunächstStornierenim Dialogfeld oben). Darüber hinaus sind diese Regeln wahrscheinlich so eingestellt, dass alle eingehenden Verbindungen blockiert werden (angezeigt durch Kreissymbole mit Schrägstrichen).

Beispiel: Windows ftp.exe wird von der Windows-Firewall blockiert

ftp.exe von der Windows-Firewall blockiert - Screenshot

So ändern Sie dies:

  1. OffenSystemsteuerung\System und Sicherheit\Windows-Firewallund klicken Sie auf den markierten LinkErweiterte Einstellungenauf der linken Seite.

  2. ImWindows-Firewall mit erweiterter Sicherheit(siehe oben) klicken Sie auf dasEingehende RegelnLink auf der linken Seite und warten Sie, bis der primäre Bereich gefüllt ist. Suchen Sie nach den beiden Regeln markiertDateiübertragungsprogrammKlicken Sie auf dasNameKategorieüberschrift, um Elemente nach Bedarf alphabetisch zu sortieren.

  3. Klicken Sie mit der rechten Maustaste auf jede Regel und wählen SieEigenschaften. Unter demAllgemeinändern Sie dieAktionvon Block the connectionbis Allow the connection. Drücken SieOKam unteren Ende des Dialogfelds, wenn Sie fertig sind.

    Beispiel: Aktualisieren der Windows-Firewallregeln für Windows ftp.exe

    Firewall-Regel „Windows ftp.exe entsperren“ – Screenshot

  4. Wenn es richtig gemacht wurde, sollten die Kreise mit Schrägstrichen durch grüne Häkchen ersetzt werden.

    Beispiel: Windows-Firewall-Regeln für Windows ftp.exe - grüne Häkchen

    Grüne Häkchen in der Firewall-Regel von Windows ftp.exe – Screenshot


Erstellen Sie Ihre eigenen Regeln

Für den Fall, dass Sie diese Regeln manuell hinzufügen (erstellen) möchten, fahren Sie mit den Schritten 1 und 2 fort, klicken Sie jedoch aufNeue Regel...auf der rechten Seite nach AuswahlEingehende Regeln.

Erstellen Sie eine Regel für TCP-Verbindungen und eine Regel für UDP-Verbindungen (Protokolloptionen finden Sie unterProtokolle und PortsStellen Sie sicher, dassAlle Anschlüssesind erlaubt. Passen Sie dieUmfangRegisterkarteneigenschaften (normalerweise eingestellt aufJede beliebige IP-Adresse) und dasFortschrittlichTabProfile(normalerweise nur Private) nach Bedarf.

Schließlich unter demProgramme und DiensteGeben Sie beispielsweise C:\windows\system32\ftp.exeals Programmpfad ein (im Zweifelsfall können Sie where ftpin einer Eingabeaufforderung den richtigen Pfad anzeigen lassen).


verwandte Informationen