online 1
gast (50)

/ Forum / Anwendungen(Java,C++...)

Anwendungen(Java,C++...)Anwendungen(Java,C++...)

Fragevon Mister vom 05.02.2020, 11:34 Options

Index erstellen und diesen per ftp hochladen (Batch)

Hallo ihr Experten!!!

Ich habe gerade ein kleines edv-technisches Problem und ich hoffe, ihr könnt mir weiterhelfen ;)

Also ich möchte gerne eine Datei schreiben, die den Inhalt (bzw. die Ordnerstruktur) eines bestimmten Verzeichnisses erhält. So weit so gut, das klappt wunderbar.

Jetzt möchte ich das ganze via ftp hochladen. Wenn ich das über cmd mache, funktioniert das wunderbar. Wenn ich jedoch die gleichen (!!!) Befehle in eine Batch-Datei schreibe und diese ausführe, hängt die Batchdatei bei "ftp". Ich hoffe, ihr könnt mir das so einfach wie möglich erklären, denn ich hatte mit Batch noch nie was zu tun und konnte nichts finden, warum das bei mir hängt ... ihr wisst das sicher!!! Hier die Batch:

@echo off
D:
cd\Arbeits\Verzeichnis\
dir/s >blabla.txt
ftp (Hier bleibt die Batch stehen!!!)
open XXX.XXX.XXX
YYY (username)
YYY (passwort)
lcd D:\Arbeits\Verzeichnis
cd aloha (ftp-Verzeichnis)
put blabla.txt
bye
del blabla.txt

mfg Mister


Antwort schreiben

Antwort 1 von Pausenfueller vom 05.02.2020, 11:58 Options

Hallo,

ich habe davon absolut keine Ahnung, aber dafür das gefunden:
Klick --> BATch-Dateien - automatisierter FTP-Transfer

Vieleicht kannst du damit was anfangen.

Gruß
Pausenfüller

Antwort 2 von Mister vom 05.02.2020, 12:49 Options

So

Danke für deine Antwort. Aber die ftp Kommandos kenne ich schon (halt nur die, die ich für dieses Projekt brauche) ;)

So. Ich bin nun soweit, dass ich 2 Dateien erstellt habe. Eine mit dem eigentlichen Script, die andere mit den ftp-Daten drinnen (Also Benutzername, Passwort etc.). Ich erhalte jetzt jedoch immer die Meldung "Fehler beim öffnen der Scriptdatei". Im Folgenden habe ich nochmal den code des ganzen "Projekts" reingestellt:

Batch:

@echo on
D:
cd\XXX\XXX\
dir/s >blabla.txt
ftp -n -i -s:ftpdata.ftp
del blabla.txt
pause

Ftp: (ftpdata.ftp):

open XXX.XXX.X.X
test (user)
test (pass)

hash (für was ist das ?)
asc (für was ist das?)

lcd D:\XXX\XXX (Wechsel ins Verzeichnis mit blabla.txt)
cd /aloha (Wechsel ins Verzeichnis aloha auf dem ftp)
put blabla.txt (Datei hochladen)
bye (Tschüss)

Antwort 3 von JanSchmitte vom 05.02.2020, 14:34 Options

Hallo Mister,


Deine Batch-Datei wird nicht weiter abgearbeitet, weil das Programm "ftp" auf Eingaben wartet.

Diese gibst Du - wie Du ja selbst geschrieben hast - manuell ein, allerdings dann nicht mehr in das Programm "cmd", sondern in das Programm "ftp" (achte mal auf den Schriftzug VOR dem >)...

Das kannst Du so nicht mit einer Batch-Datei realisieren...

Ich habe drei Alternativen für Dich:

  • Guck, ob sich das Programm "ftp" mit Parametern aufrufen lässt. Falls ja, dann kannst Du die Befehle per Parameter übergeben
  • Du nimmst ein anderes Programm zur Übertragung per ftp. Ich selbst habe für ähnliche Zwecke mal das Tool "psftp.exe" benutzt (Teil von Putty), das lässt sich auch per Parameter mit einer Skriptdatei "füttern"...
  • Du erstellst statt der Batch-Datei ein AutoIT-Script. Damit kannst Ud beliebige Zeichenfolgen in beliebige Fenster schreiben und so die Befehle absetzen...


Das fällt mir so auf Anhieb ein...
Melde Dich mal, ob's Dir geholfen hat!


MfG, Jan

Antwort 4 von Mister vom 06.02.2020, 09:31 Options

Hallo und vielen Dank für die vielen Antworten!!!

Also von den 3 Möglichkeiten gefällt mir das mit dem Parameter am Besten. ich denke, ich habe sowas schon jetzt in dieser Batchdatei realisiert (so in etwa wie es hier http://supportnet.de/threads/1664868 steht, verbessert mich wenn es nicht so ist). Ich glaube, ich hab nur irgendwo einen klitzekleinen Fehler drinnen, der mir dann sagt: "Fehler beim Öffnen der Scriptdatei". Ich poste hier nochmal den Inhalt der beiden Dateien rein:

Batch:

@echo on
D:
cd\Arbeits\Verzeichnis\
dir/s >index.txt
ftp -n -i -s:ftpdata.ftp *
del index.txt
pause

*= Hier wird doch das mit dem Parameter gemacht? also die Datei heißt ftpdata.ftp, ist aber immer noch eine Textdatei (falls das der Fehler sein könnte ...)

Ftp:

open XXX.XXX.XXX.XXX
test
test

hash
asc

lcd D:\Arbeits\Verzeichnis\
cd /aloha
put index.txt
bye

Antwort 5 von JanSchmitte vom 06.02.2020, 09:38 Options

Ich nochmal...

In welchem Verzeichnis liegt denn Deine ftpdata.ftp?

in der Kommandozeile bist Du ja in einem bestimmten Verzeichnis, odrt wird auch nach dieser Datei gesucht...

Kannst Du im Parameter auch einen absoluten Pfad angeben? Also

ftp -n -i -s:C:\Pfad\zur\ftpdata.ftp


MfG, Jan

Antwort 6 von Mister vom 06.02.2020, 10:06 Options

Hi

Also ich habe beide Dateien momentan auf dem Desktop liegen. Auch das Angeben eines absoluten Pfades bringt irgendwie nix ;(

mfg Mister

Antwort 7 von JanSchmitte vom 06.02.2020, 10:09 Options

Es kann sein, daß die Kommandozeile Probleme mit Leerzeichen im Pfad hat...

Da der Desktop irgendwo im Ordner "Dokumente und Einstellungen" liegt, würde ich das als Fehlerquelle vermuten.

Leg mal beide Dateien direkt auf eine Festplatte, zumindest aber in einen Pfad ohne Leerzeichen und versuch's nochmal.


MfG, Jan

Antwort 8 von Mister vom 06.02.2020, 10:58 Options

Hey

Hab ich probiert, aber immer noch der selbe Fehler *heul*
Kann es denn sein, dass irgendwas mit der ftpdata net stimmt ? Weil er ja sagt Fehler beim Öffnen der Scriptdatei ... also er weiß dass es ein Script gibt, kann es aber net so richtig verarbeiten ...

mfg Mister

Antwort 9 von JanSchmitte vom 06.02.2020, 11:04 Options

Ich verstehe die Fehlermeldung eher so, daß er die Skript-Datei an sich nicht öffnen kann...

Gib doch mal spassehalber einen vollkommen anderen Dateinamen an... Ich denke, Du bekommst dann die gleiche Fehlermeldung.

Ansonsten versuch mal, die Skriptdatei quasi stückchenweise auszuführen. Fang mit einer Datei an, in der nur die erste Zeile steht. Wenn das klappt, füge die zweite Zeile hinzu etc...

So kriegst Du wenigstens raus, wo der Fehler liegt...


MfG, Jan

Antwort 10 von Mister vom 06.02.2020, 11:20 Options

Hi

Okay .. ich habe es getestet .. du hattest Recht .. ich hab irgendne Schrottdatei genommen und diese als "ftp-Datei" deklariert .. selber Fehler.

Wie bekommen wir jetzt hin, dass diese Scriptdatei geöffnet wird? was ist an ihr falsch ?

mfg Mister

Antwort 11 von JanSchmitte vom 06.02.2020, 11:30 Options

Nein, ich meinte das etwas anders.

Gib als Skriptdatei mal einfach eine NICHT EXISTIERENDE Datei an...
Bei mir hatte ich gerade dann den von Dir beschriebenen Fehler
Zitat:
Fehler beim Öffnen der Skripdatei


Ich habe es bei mir gerade testweise geschafft, eine Skriptdatei zu öffnen...

Du musst in der Batch-Datei VOR Aufruf des Programms "ftp" in den Ordner wechseln, in dem diese Skriptdatei liegt...

Poste doch mal bitte Deine Batch-Datei (vor allem die verwendeten Pfade) und die Ordnerstruktur 'drumherum'...


MfG, Jan

Antwort 12 von Mister vom 06.02.2020, 13:16 Options

Hallo

Gute Nachrichten: Das Script funktioniert (fast). Es hängt jedoch an der Stelle, wo ich im ftp script sag, wo es die Datei finden kann (also das lokale Verzeichnis ...)

hier die ftp-Datei:

open 192.168.2.101
USER abcdefg
abcdefg
cd /aloha (Serververzeichnis)
LCD D:\testordner\ (hier klappt das nicht ... Datei nicht gefunden ...)
put index.txt
bye

mfg Mister

Antwort 13 von Mister vom 06.02.2020, 13:32 Options

Okay zur Ergänzung doch noch die Ordnerstruktur:

Desktop: Batchdatei (also Laufwerk C)
D: testordner (hier wird die index.txt reinerstellt)
D: scripts (hier liegt die ftpdata.ftp)

FTP:

open 192.168.2.101
USER abcdefg
abcdefg
cd /aloha
LCD D:\testordner\
put index.txt
bye


Batch:

@echo on
D:
cd\testordner\
dir/s >index.txt
cd\scripts\
ftp -n -i -s:ftpdata.ftp
cd\testordner\
del index.txt
pause

Antwort 14 von JanSchmitte vom 06.02.2020, 13:50 Options

Lass beim Ordnerwechsel den abschliessenden Schrägstrich weg...

Bei mir klappt's dann.


MfG, Jan

Antwort 15 von Mister vom 06.02.2020, 13:57 Options

Hallo

Genau das wollte ich gerade schreiben ... Jetzt klappt alles ... vielen vielen Dank und noch einen schönen Tag ;)

mfg Mister

Ähnliche Themen

probleme beim ftp upload
Carina88  26.09.2007 - 48 Hits - 2 Antworten

Ordner per BAT Datei auf ftp Server laden
Diedäää  05.11.2007 - 103 Hits - 2 Antworten

Problem beim Fotos hochladen mit Classic FTP
norma1  03.01.2008 - 71 Hits - 7 Antworten

Batch ftp geht nicht?
Crossfire  14.01.2008 - 161 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026