12680
Goto Top

Dateien von FTP über Batchdatei auf einen Client kopieren

Hallo,

ich möchte gerne eine Batchdatei erstellen, mit deren Ausführen Dateien von einem FTP-Server auf einen Client in derselben Domäne kopiert werden.

Der FTP-Zugang wäre z.B.:
ftp://192.168.100.10
User: user1
Passwort: passwort1
Die zu kopierenden Dateien liegen auf dem FTP im Ordner "dateien".

Die Clientdaten wären z.B.:
Rechnername: clpc100
Zielpfad: c:\bilder

Wie muss die Batchdatei aussehen?? So in der Art:

get *.* ftp://192.168.100.10/bilder --user=user1 --password=passwort1pause

Oder:
ftp
open 192.168.100.10
user\user1
passwort1
get bilder\*.* \\clcp100\c$\bilder
pause
bye
??

Content-Key: 116954

Url: https://administrator.de/contentid/116954

Printed on: April 25, 2024 at 01:04 o'clock

Mitglied: 77559
77559 May 27, 2009 at 14:24:04 (UTC)
Goto Top
Zitat von @12680:
Wie muss die Batchdatei aussehen?? So in der Art:

get *.* ftp://192.168.100.10/bilder --user=user1 --password=passwort1pause

Wenn du dir wget von z.Bsp. Unxutils.sourceforge.net besorgst so ähnlich.
@echo off
(set MyPath=.;%Path%)&IF defined wget set "wget="  
for /F "delims=" %%A in ("wget.exe") do set "wget=%%~$MyPath:A"  
IF Not Defined wget echo Wget nicht gefunden & Pause & Exit /B 2
pushd \\clpc100\c$\bilder
%wget%  ftp://user1:passwort1@192.168.100.10/bilder/*
popd

Gruß
LotPings

Edit: Suche nach wget eingebaut
PS: Sei dir aber darüber im klaren das bei ftp dein Passwort im Klartext mit auf die Reise geht.
Mitglied: 12680
12680 May 28, 2009 at 06:24:12 (UTC)
Goto Top
Ich habe mir die wget.exe heruntergeladen, beim Ausführen der Batch bekomme ich die Meldung "Der Befehl wget.exe ist entweder falsch geschrieben oder konnte nicht gefunden werden". Sie liegt im selben Verzeichnis wie die Batchdatei.

- Wo muss ich die wget.exe hinkopieren?
- Gibt es noch eine andere Möglichkeit - ohne wget ?
Mitglied: 77559
77559 May 28, 2009 at 06:46:53 (UTC)
Goto Top
Zitat von @12680:
- Wo muss ich die wget.exe hinkopieren?

Du hast die UnxUtil.zip entpackt und aus dem Unterverzeichnis \usr\local\wbin die wget.exe in das aktuelle Verzeichnis oder ein Verzeichnis das in der Envrionemntvariable "Path" enthalten ist kopiert?

- Gibt es noch eine andere Möglichkeit - ohne wget ?
Klar, aber damit funktioniert es am einfachsten und ich habe es damit auch getestet.

Gruß
LotPings
Mitglied: 12680
12680 May 28, 2009 at 06:54:45 (UTC)
Goto Top
1. Ja - habe sie in das Verzeichnis entpackt, in dem auch die Batchdatei liegt. Alternativ habe ich sie auch auf c:\ kopiert und dies im Script angepasst, hat auch nicht funktioniert.

2. Ok versuchen wir es weiter mit dem wget, alternativ - wie würde die andere Möglichkeit aussehen?

-> Was muss ich jetzt ändern, damit es funktioniert?
Mitglied: 77559
77559 May 28, 2009 at 09:05:06 (UTC)
Goto Top
Da wget bei mir im Pfad liegt habe ich nicht an den pushd gedacht der das aktuelle Verzeichnis temporär ändert.
Ich baue in die Batch oben ene Zeile ein die wget findet.

Gruß
LotPings
Mitglied: 78632
78632 May 28, 2009 at 09:30:17 (UTC)
Goto Top
Zitat von @12680:
wie würde die andere Möglichkeit aussehen?

Du kannst ftp so verwenden:

Pack die Befehle in eine Datei
open 192.168.100.10
user\user1
passwort1
cd bilder
prompt
mget *.*
bye


und führe ftp aus:

pushd \\clcp100\c$\bilder
ftp -s:Dateiname
popd

Wie in jedem Konsolenprogramm gibt es auch zu ftp eine Hilfe: ftp /?
Mitglied: 12680
12680 May 28, 2009 at 13:12:13 (UTC)
Goto Top
So habe ich das jetzt gemacht. Ausgabe lautet nun:

530 Not logged in. Anmeldung fehlgeschlagen.
ftp> cd bilder
530 Not logged in.
ftp> prompt
Interaktivmodus AUS .
ftp> mget *.*
Not logged in.
Not logged in.
Not logged in.
530 Not logged in.
ftp> bye
221 Goodbye.


Genau so wie oben beschrieben habe ich die Datei aufgebaut:
...
user\user1
passwort1
...
Er scheint das Passwort ja nicht zu nehmen, obwohl es korrekt ist. Über Browser funktionierts ja.
Mitglied: 78632
78632 May 28, 2009 at 13:18:51 (UTC)
Goto Top
Sind im Benutzernamen oder Passwort Buchstaben enthalten, die nicht innerhalb von "A..Z, a..z" liegen?
Gib die Zeilen nach Eingabe von ftp händisch ein, dann siehst du, wo der Fehler liegt.
Mitglied: 12680
12680 May 28, 2009 at 14:06:56 (UTC)
Goto Top
Funktioniert jetzt, allerdings habe ich noch ein Problem. Es sollen nicht alle Dateien vom FTP-Server heruntergeladen werden, sondern:

1. nur die aktuellste (sind anhand Dateinamen sortiert, bild 100 ist also aktueller als bild 99)

2. diese soll automatisch umbenannt werden in bildaktuell.jpg

3. die alte bildaktuell.jpg soll dabei überschrieben werden
Mitglied: 77559
77559 May 28, 2009 at 14:41:56 (UTC)
Goto Top
Zitat von @12680:
Funktioniert jetzt, allerdings habe ich noch ein Problem.

Das hast du tatsächlich,
du glaubst du kannst hier ohne eigenen Einsatz Stückchenweise eine Batch von anderen zusammenstellen lassen.
Es gibt hier im Forum endlose Beispiele, die man durcharbeiten, verstehen und dann selber anpassen kann.
Den Königsweg zum selber Batchen gibt es nicht.

Gruß
LotPings
Mitglied: 78632
78632 May 28, 2009 at 14:47:10 (UTC)
Goto Top
Zitat von @77559:
Den Königsweg zum selber Batchen gibt es nicht.

Doch: üben, üben, üben face-smile

wer selbst batcht, ist nur zu faul zum Fragen.

Edit: Jetzt haben wir ihn verschreckt. face-wink
Mitglied: 77559
77559 May 28, 2009 at 15:18:13 (UTC)
Goto Top
Zitat von @78632:
> Zitat von @77559:
> Den Königsweg zum selber Batchen gibt es nicht.

Doch: üben, üben, üben face-smile

Der Definition bei Wikipedia nach: eine leichte und doch optimale Problemlösung
passt das natürlich nur wenn man andere machen lässt.
Denn 3*üben ist ja nicht leicht.

Edit: Jetzt haben wir ihn verschreckt. face-wink
Mutig, mutig, einmal Buh gesagt und schon den Account gelöscht.

Gruß
LotPings