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
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
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
Datei holen.ftp
Ach ja, das Script läuft auf Win 2k, XP und 2k3...
Gruß
Undertaker
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"
exitDatei holen.ftp
open dokumentenserver.firma.de
benutzername
kennwort
bin
get "dokumenteofficeexcelDokumentenname.xls" "c:Dokumentenname.xls"
quitAch 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
Datei holen.ftp
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"
quitAntwort 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
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
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

