Supportnet Computer
Planet of Tech

Supportnet / Forum / NW-Sonstiges

ftp-server





Frage

Hallo zusammen! Ich habe auf einem FTP-Server eine Excel-tabelle, welche ich mittels einer Batch-Datei auf mein Laufwerk C: bekommen möchte. Wenn ich das Ganze "von Hand" eingebe, funktioniert es!!! Die Tabelle kommt an und ist vollständig. Lasse ich alles über die Batch laufen, kommt die Tabelle zwar auch an, aber sie ist LEER!!! Die Befehlsfolge in der Batch ist die Selbe wie die, die ich "von Hand" eingebe. Warum ist meine Tabelle also leer?? Hoffe mir kann jemand helfen. Greetz

Antwort 1 von Undertaker

Hi,

ich vermute, das die Datei auf C: zum Schreiben geöffnet wird, dann beim Übertragen der Daten ein Fehler auftritt und statt die leere Datei zu löschen wird sie lediglich geschlossen. Resultat ist eine leere Datei.

Wenn der Inhalt der Batchdatei nicht unter irgendeine Geheimhaltungsstufe fällt, kannst Du ihn ja mal posten. Weil, raten macht keinen spaß...

Gruß
Undertaker

Antwort 2 von Alabamba

Das ist leider das Problem. Ist Top Secret!!
Im Ernst, kann ich leider nicht posten, weil die Fa. dann ganz dolle böse wird.
Greetz

Antwort 3 von Undertaker

Hi,

ok. Man könnte natürlich IP-Adressen, Dokumentennamen etc. gegen fiktive Informationen austauschen, um das Script hier zu posten. IMO dürfte dann selbst die Fa. nichts mehr dagegen haben. Aber egal...
Also poste ich mal ein Beispiel, wie ich per FTP ein Dokument übertragen würde. Vergleiche es einfach mal mit Deinem Source...

Datei holen.cmd
ftp -s:"Datei holen.ftp"
move /Y "c:Dokumentenname.xls" "%USERPROFILE%Desktop"
exit


Datei holen.ftp
open dokumentenserver.firma.de
benutzername
kennwort
bin
get "dokumenteofficeexcelDokumentenname.xls" "c:Dokumentenname.xls"
quit


Ach ja, das Script läuft auf Win 2k, XP und 2k3...

Gruß
Undertaker

Antwort 4 von Undertaker

Ups, hab nicht daran gedacht, das der Backslash unterdrückt wird...

Datei holen.cmd
ftp -s:"Datei holen.ftp" 
move /Y "c:\Dokumentenname.xls" "%USERPROFILE%\Desktop" 
exit 


Datei holen.ftp
open dokumentenserver.firma.de 
benutzername 
kennwort 
bin 
get "dokumente\office\excel\Dokumentenname.xls" "c:\Dokumentenname.xls" 
quit


Antwort 5 von Alabamba

OK

meine BAT sieht in etwa so aus:

Benutzername
Kennwort
lcd
lcd test
cd RichtigerOrdner
get "test.xls"
"c: est est.xls"
append c: est est.xls
quit

Die Zeile:
ftp -s:C: estkom.bat 111.211.11.1
steht in meinem Makro.

Hilft das weiter?
Greetz

Antwort 6 von Undertaker

Hi,

Du könntest zuerst mal ein Logfile erstellen und dort nach Fehlermeldungen suchen:
ftp -s:C: estkom.bat 111.211.11.1 >estkom.log

Dann: Unbedingt BIN vor das GET setzen, um Binärdateien 1:1 zu übertragen! Andernfalls wird der ASCII Mode verwendet und der entfernt Sonderzeichen.

Und was ich nicht verstehe: LCD und APPEND.
Nachdem die Datei auf dem Client ist, überträgst Du sie wieder zum Server und hängst sie an die originale Datei an? Damit ist die Datei doch zerstört...

Was auch sein kann (zumindest erhalte ich damit eine 0 Byte große Datei):
Kann es vielleicht sein, das Du eine Firewall auf dem FTP-Client laufen hast? Kann es dann vielleicht sein, das die FW den FTP zwar interaktiv raus läßt, aber nicht, wenn er im Batch ausgeführt wird? Oder das die FW die für die Datenübertragung benötigten Ports sperrt?


Gruß
Undertaker

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: