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:
liste.bat:
liste.txt
damit das ganze natürlich funktioniert sollte die liste.txt wie folgt ausschaun
liste.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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 141093
Url: https://administrator.de/forum/batch-ftp-upload-141093.html
Ausgedruckt am: 29.04.2025 um 22:04 Uhr
3 Kommentare
Neuester Kommentar

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) :
Zu deinem PS, mögich ist es schon den Quellpfad zu splitten und jeweils einen md/cd Befehl dazwischen einzufügen.
Gruß
LotPings
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

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
Gruß
LotPings
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