Mehrere Dateien nach Suche mit FOR auf FTP hochladen
Bin eig. mittlerweile recht gut in Batch, aber ich weiss einfach nicht weiter...
Also.... mein Problem!
Ich möchte einen bestimmten Ordner + Unterordner nach einer bestimmten Dateiendung durchsuchen und dann auf einem FTP-Server ein Backup davon anlegen. Soweit klappt auch alles... so sieht mein Code aus:
So, eigentlich klappt das auch, nur das funktioniert irgendwie nicht mit Unterordnern
Hab schon gegoogelt, Boardsuche auch, hab aber nicht wirklich was Hilfreiches gefunden...
Bin froh über jegliche Hilfe ;)
Ach ja, *FTP-SERVER*, *USERNAME* und *PASSWORT* hab ich in meinem Script natürlich durch die richtigen Werte ersetzt!
LG Nanairo
Also.... mein Problem!
Ich möchte einen bestimmten Ordner + Unterordner nach einer bestimmten Dateiendung durchsuchen und dann auf einem FTP-Server ein Backup davon anlegen. Soweit klappt auch alles... so sieht mein Code aus:
@echo off
ECHO OPEN *FTP-SERVER*>connect.txt
ECHO *USERNAME*>>connect.txt
ECHO *PASSWORT<*>>connect.txt
ECHO PROMPT>>connect.txt
ECHO PUT *.txt>>connect.txt
ECHO QUIT>>connect.txt
SET PFAD=C:\Users\%USERNAME\Desktop\ENT
SET FILE=*.txt
FOR /R %PFAD% %%i IN (%FILE%) DO (ftp -s:connect.txt)
So, eigentlich klappt das auch, nur das funktioniert irgendwie nicht mit Unterordnern
Hab schon gegoogelt, Boardsuche auch, hab aber nicht wirklich was Hilfreiches gefunden...
Bin froh über jegliche Hilfe ;)
Ach ja, *FTP-SERVER*, *USERNAME* und *PASSWORT* hab ich in meinem Script natürlich durch die richtigen Werte ersetzt!
LG Nanairo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 174706
Url: https://administrator.de/forum/mehrere-dateien-nach-suche-mit-for-auf-ftp-hochladen-174706.html
Ausgedruckt am: 27.04.2025 um 06:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo Nanairo und willkommen im Forum (ich tendiere, wie Du merkst, zu einer eher konventionellen Begrüßung -"Also.... " ist mir nicht wirklich geläufig)!
Wenn ich Dein Vorhaben richtig interpretiere, könnte ich mir das eher so vorstellen:
- das Testen überlasse ich Dir ...
Grüße
bastla
Wenn ich Dein Vorhaben richtig interpretiere, könnte ich mir das eher so vorstellen:
@echo off & setlocal
set "Pfad=%userprofile%\Desktop\ENT"
set Script=%temp%\connect.txt
>%Script% ECHO OPEN *FTP-SERVER*
>>%Script% ECHO *USERNAME*
>>%Script% ECHO *PASSWORT*
>>%Script% ECHO PROMPT
>>%Script% ECHO PUT *.txt
>>%Script% ECHO QUIT
pushd "%Pfad%"
for /f "delims=" %%i in ('dir /s /b /ad') do (
pushd "%%i"
ftp -s:%Script%
popd
)
popd
del %Script%
Grüße
bastla
Hallo Nanairo!

Die folgende Variante schreibt vorweg alle zu kopierenden Dateien in das Script:
wobei allerdings alle Dateien auf dem Server im gleichen Verzeichnis landen (was bei Deinem Ansatz aber auch nicht anders gewesen wäre) ...
Wenn Du übrigens in Zeile 14 eine "
Grüße
bastla
Ich kann mit Batch eigentlich nur die ganz einfachen Sachen
Hatte ich nach "Bin eig. mittlerweile recht gut in Batch" nicht angenommen ... Die folgende Variante schreibt vorweg alle zu kopierenden Dateien in das Script:
@echo off & setlocal
set "Pfad=%userprofile%\Desktop\ENT"
set Script=%temp%\connect.txt
>%Script% ECHO OPEN *FTP-SERVER*
>>%Script% ECHO *USERNAME*
>>%Script% ECHO *PASSWORT*
pushd "%Pfad%"
>>%Script% (for /f "delims=" %%i in ('dir /s /b /a-d *.txt') do ECHO PUT "%%i")
popd
>>%Script% ECHO QUIT
ftp -s:%Script%
del %Script%
Wenn Du übrigens in Zeile 14 eine "
pause
" einbaust (oder das Löschen des Scripts am Ende - vorerst - weglässt), kannst Du das gesamte Script auch kontrollieren ...Grüße
bastla