Batch Datei erstellen

Nun habe ich an dem Rechner wo es funktionieren sollte das promp davor gesetzt und nun kommt diese Meldung:



PHP:
U:\test\Neuer Ordner\Bat.Datein\Test>ftp -s:DatenHolen.ftp 
ftp> OPEN xxxxxxxx.de 
Verbindung mit xxxxxxxxx.de wurde hergestellt. 
220 Merry FTP server (IS FTP-Service, version 5.9.2) ready. 
530 Please login with USER and PASS. 
Benutzer (xxxxxxxx.de:(none)): 
331 Password required for xxxxxxxx (xxxxxxx). 

230 User xxxxxx logged in. 
ftp> 
ftp> lcd "C:\Users\Downloads" 
Lokales Verzeichnis jetzt C:\Users\Downloads 
ftp> cd upload/ 
250 CWD command successful. 
ftp> binary 
200 Type set to I. 
ftp> prompt mget  *.txt
Interaktivmodus AUS .
ftp>disconnect
221 Goodbye
ftp> quit
 
Da hätte ich mich klarer ausdrücken sollen, das ist ein eigenständiger Befehl, der irgendwo im Skript vor dem ersten mget auftauchen muss. Damit wird der interaktive Modus ausgeschaltet (also keine Nachfragen mehr gestellt).
Beispiel:
Code:
...
prompt
mget *.txt
...
 
Hallo,
jetzt funktioniert es. Allerdings zieht er mir dann alle Datein aus dem Ordner heraus. Ich benötige jedoch nur die aktuellste.
Ist das auch möglich?
 
Noch eine Frag,
bei dem Computer mit Windows 10 wo es bisher nicht funktioniert, kann ich aber komischerweise mich über den FTP Client anmelden und die Daten dann manuell herunterladen. Dürfte das dann eigentlich auch nicht gehen?
 
Von welchem FTP client sprechen wir da genau?

Zum Thema nur die neueste Datei:
Ich muss ganz ehrlich sagen, dass ich nicht weiß, wie man reguläre Ausdrücke in ein Batchfile bekommen soll, falls das überhaupt möglich ist. Ich könnte Dir höchstens für Programmiersprachen sagen wie es geht (C/C++/C#/Java) oder wie man das mit der Powershell macht.
Da müsstest Du bitte noch auf andere Antworten warten, ob es da eine Möglichkeit gibt, dass man das auch in Batchfiles abbildet.

Einen Workaround hätte ich allerdings: speicher die "Dateien" nach dem mget doch einfach in einem Verzeichnis "old" oder "received", bzw. ähnliches.
 
Last edited by a moderator:
Das ist natürlich etwas ganz anderes, da Filezilla den Passivmodus unterstützt.
 
Sorry, aber ich muss nochmal Fragen.
Ich habe nun über FileZilla den Modus auf Aktiv gesetzt und nachdem ich eine Meldung bekam über die Firewall, das ich den Zugriff einwilligen muss, komme ich jetzt auch im aktiven Modus auf den Server.
Daraufhin habe ich nun nochmal die Batch Datei gestartet und bekam nun folgende Fehlermeldung:

550 I/O Error: Connection timed out: connect

Was kann das nun bedeuten?
 
Das Batchfile ruft aber ftp auf und nicht Filezilla.
Die meisten Softwarefirewalls geben einzelne Prozesse frei und blockieren andere (was jetzt nicht heißen soll, dass man nicht einfach bestimmte Ports öffnen könnte).
 
Back
Top