niphar

Batch ftp upload

Problem beim uploaden mit unterverzeichnissen

Guten Abend zusammen

ich hab folgendes Problem:

Ich will auf einem PC ohne Adminrechte mehrere Ordner/Unterordner und Dateien (für jede Kalenderwoche einen Ordner in denen jeweils eine "stundenliste_atuser.xls" liegt) per Batch auf einen FTP server hochladen. Dazu hab ich 2 Batchfiles und eine Textdatei die wie folgt ausschaun:

upload.bat:
ftp -s:liste.txt

liste.bat:
@echo off
if exist liste.txt del liste.txt
echo open URL>>liste.txt 
echo USERNAME>>liste.txt 
echo PASSWORD>>liste.txt 
echo prompt>>liste.txt 
echo cd backup>>liste.txt 
dir /b /s D:\ftp\skripte>>liste.txt 
exit

liste.txt
open URL
USERNAME 
PASSWORD
prompt 
cd backup 
D:\ftp\skripte\test
D:\ftp\skripte\to.upload
D:\ftp\skripte\test\test2.txt

damit das ganze natürlich funktioniert sollte die liste.txt wie folgt ausschaun


liste.txt
open URL
USERNAME 
PASSWORD
prompt 
cd backup 
put D:\ftp\skripte\test
put D:\ftp\skripte\to.upload
put D:\ftp\skripte\test\test2.txt

nur bekomm ich das "put" einfach nicht vor die Pfadangaben :/ hat jemand eine Idee dazu?

P.S. ist es möglich, dass ich per batch ermittle in welchen Ordner die datei liegt und diese dann auf dem ftp erstelle? z.B. D:\ftp\skripte\test\test2.txt liegt local auf dem pc und aufm ftp schaut der pfad wie folgt aus: D:\ftp\skripte\, ansonsten schick ich 20 files und überschreib jedesmal die vorherige.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 141093

Url: https://administrator.de/forum/batch-ftp-upload-141093.html

Ausgedruckt am: 29.04.2025 um 22:04 Uhr

77559
77559 21.04.2010 um 18:10:09 Uhr
Goto Top
Hallo Niphar,

um das Put vor die Scripte zu bekommen musst du die Dir Ausgabe mit einer For Schleife abarbeiten.
Ändere Zeile 8 in deiner Liste.bat so ab (ungetestet) :
For /f "delims=" %%A in ('dir /b /s D:\ftp\skripte') Do Echo put %%A >>liste.txt

Zu deinem PS, mögich ist es schon den Quellpfad zu splitten und jeweils einen md/cd Befehl dazwischen einzufügen.

Gruß
LotPings
Niphar
Niphar 22.04.2010 um 17:44:44 Uhr
Goto Top
ok und wie stell ich das an ? wieder mit einer for schleife?
77559
77559 22.04.2010 um 19:30:19 Uhr
Goto Top
Nein,
die eine Scheleife reciht, aber der Pfad der zurückgegebenen Dateien muss auf Subverzeichnisse geprüft werden, am Besten in einer Subroutine.
Du schreibst zwar der ftp Zielort wäre d:\ftp\scripte aber du machst selber ein cd backup.

Es ist auch fraglich
  • ob das Recht zur Erzeugung von Verzeichnissen besteht
  • welche Befehle der Remote Ftp-Server beherscht
  • der Ftp-Server absolute/relative Pfadangaben unterstützt

Gruß
LotPings