CMD-FTP Batch - Server, User, Pass abfrage
Hallo zusammen
ich bin ein Neuling und frage mal hier.
Ich habe einige Scripte die Dateien auf dem ftp-Server verschieben kopieren oder löschen.
Nun sollte das für viele verschiedene User uns gemacht werden. Ich muss dann aber bei jedem Script den Server, User und pass von Hand eingeben.
Gibt es da eine Möglichkeit eine User abfrage zu machen, das ich pro Benutzer nur ein user.txt habe?
vielen Dank für eure Hilfe
Tomy
ich bin ein Neuling und frage mal hier.
Ich habe einige Scripte die Dateien auf dem ftp-Server verschieben kopieren oder löschen.
Nun sollte das für viele verschiedene User uns gemacht werden. Ich muss dann aber bei jedem Script den Server, User und pass von Hand eingeben.
Gibt es da eine Möglichkeit eine User abfrage zu machen, das ich pro Benutzer nur ein user.txt habe?
vielen Dank für eure Hilfe
Tomy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 231103
Url: https://administrator.de/forum/cmd-ftp-batch-server-user-pass-abfrage-231103.html
Ausgedruckt am: 09.04.2025 um 13:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo Tomy,
wenn Du pro User eine Textdatei hast, in der in der Username und Passwort steht (natürlich im Klartext ...),
dann kannst Du diese Daten wie folgt verwenden:
viel Vergnügen
LS
wenn Du pro User eine Textdatei hast, in der in der Username und Passwort steht (natürlich im Klartext ...),
echo username password > ~mist.txt
for /F "tokens=1" %%i in ('type ~mist.txt') do @set UNAME=%%i
for /F "tokens=2" %%i in ('type ~mist.txt') do @set UPASS=%%i
echo User: %UNAME%, Passwort: %UPASS%.
viel Vergnügen
LS
Moin,
also wenn du eine allgemeine CSV-Datei verfasst, dann kannst du folgendes nutzen:
Ich persönlich würde aber auf folgende Lösung setzen:
Hier wird einfach die Abfrage ob eine Konfiguration vorliegt, wenn ja, werden einfach diese Daten genommen, wenn nicht, werden die Daten abgefragt.
Das spart dir, wenn du deine User gut erzogen hast, viel Zeit. ;)
Gruß
Chris
also wenn du eine allgemeine CSV-Datei verfasst, dann kannst du folgendes nutzen:
for /F "delims=; tokens=1,2,3,4" %%a IN (test.csv) DO (
if %%a equ %username% (
set "ftpserver=%%b"
set "ftpuser=%%c"
set "ftppasswort=%%d"
)
)
echo %ftpserver%
echo %ftpuser%
echo %ftppasswort%
pause
Ich persönlich würde aber auf folgende Lösung setzen:
set "savedconfigfile=%USERPROFILE%\testconfig.bat"
IF DEFINED 1 (
if "%1"=="reset" del "%savedconfigfile%"
)
IF Exist "%savedconfigfile%" (
call "%savedconfigfile%"
set "save=n"
) else (
set /P "ftpserver=FTP-Servername: "
set /P "ftpuser=FTP-Username: "
set /P "ftppasswort=FTP-Passwort: "
set /P "save=Möchten sie die Daten speichern?(J/N)"
)
if "%save%"=="J" (
echo set "ftpserver=%ftppasswort%">"%savedconfigfile%"
echo set "ftpuser=%ftpuser%">>"%savedconfigfile%"
echo set "ftppasswort=%ftppasswort%">>"%savedconfigfile%"
)
echo %ftpserver%
echo %ftpuser%
echo %ftppasswort%
pause
Hier wird einfach die Abfrage ob eine Konfiguration vorliegt, wenn ja, werden einfach diese Daten genommen, wenn nicht, werden die Daten abgefragt.
Das spart dir, wenn du deine User gut erzogen hast, viel Zeit. ;)
Gruß
Chris
Moin,
Meine CSV Datei sieht so aus:
Aber ich erkläre dir mal meine 2. Lösung. Sie ist eigentlich nicht so schwer.
Alles in allem, hoffe ich, es ist etwas verständlicher geworden.
Gruß
Chris
Meine CSV Datei sieht so aus:
username;ftpserver2;ftpuser;ftppasswort;
username1;ftpserver1;ftpuser1;ftppasswort;
username2;ftpserver2;ftpuser2;ftppasswort;
username3;ftpserver3;ftpuser3;ftppasswort;
Aber ich erkläre dir mal meine 2. Lösung. Sie ist eigentlich nicht so schwer.
REM Pfad zur Datei in dem Fall, im Userverzeichnis
set "savedconfigfile=%USERPROFILE%\testconfig.bat"
REM Hier wird geprüft, ob ein Parameter übergeben wurde
IF DEFINED 1 (
REM hier wird geprüft, ob der übergebene Parameter "RESET" ist, wenn ja, wird die alte Konfiguration gelöscht.
if "%1"=="reset" del "%savedconfigfile%"
)
REM es wird auf die existient der Konfigurationsdatei
IF Exist "%savedconfigfile%" (
REM Hier wird die Konfigurationsdatei aufgerufen, es handelt sich hierbei um eine Batchdatei, in der die Daten per Set eingesetzt werden. (Siehe unten)
call "%savedconfigfile%"
set "save=n"
) else (
REM Existiert die Konfigurationsdatei nicht, werden die User nach den Daten gefragt.
set /P "ftpserver=FTP-Servername: "
set /P "ftpuser=FTP-Username: "
set /P "ftppasswort=FTP-Passwort: "
set /P "save=Möchten sie die Daten speichern?(J/N)"
)
REM hier wird die Abfrage auf den Text gemacht, und wenn "J" darin steht, wird die Konfiguration geschreiben
if "%save%"=="J" (
echo set "ftpserver=%ftppasswort%">"%savedconfigfile%"
echo set "ftpuser=%ftpuser%">>"%savedconfigfile%"
echo set "ftppasswort=%ftppasswort%">>"%savedconfigfile%"
)
REM hier handelt es sich um Blindtext, hier kann dein aufruf rein
echo %ftpserver%
echo %ftpuser%
echo %ftppasswort%
pause
Alles in allem, hoffe ich, es ist etwas verständlicher geworden.
Gruß
Chris