Mit Batch Scriptzeile in .txt ändern.
(Hintergrund: Ftp Script)
Hallo It forum Team,
Ich habe folgendes problem und zwar möchte ich mir eine Bat erstellen die folgende eigenschaften hat:
1.-Fragt User nach seinem Usernamen auf dem ftp server.
2.-Fragt User nach dem dazugehörigen Passwort.
3.-Fragt User nach der Ip des Servers.
4.-Fragt User nach seinem Home verzeichniss.
5.-Connectet mithilfe dieser daten zum Ftp Server
6.-Führt dort ein paar cmmandos aus.
Nachdem ich die schritte 1-4 ausgeführt worden sind möchte ich ihn über folgende zeile:
FTP -n -d -s:1.txt %ip%
connecten lassen.
In der txt Datei 1.txt befinden sich die Commandos die nach dem verbinden ausgeführt werden sollen sie sieht folgendermaßen aus:
USER username
PASS passwort
cd /httpdocs/
mkdir test
mkdir test2
mkdir test3
quit
Mein Problem besteht jetzt darin dass "username" und "passwort" in 1.txt logischerweise mit dem inhalt der in Schritt 1.-2. erstellten Variablen %username% und %passwort% ersetzt werden sollen.
Damit beim connecten auch die richtigen daten verwendet werden.
Hier nocheinmal der wichtige teil meiner Bat:
:choice
echo()----------Ftp Script-----------()
@echo 1. Los
@echo off
set /p choice=
if %choice% == 1 goto infos
:Infos
@echo Dein UserName:
set /p username=
@echo Server Ip:
set /p ip=
@echo Pfad bis zum Home Ordner:
set /p homeordner=
goto connect
:connect
FTP -n -d -s:1.txt %ip%
Wie könnte ich das realisieren?
Mfg. lolio
Hallo It forum Team,
Ich habe folgendes problem und zwar möchte ich mir eine Bat erstellen die folgende eigenschaften hat:
1.-Fragt User nach seinem Usernamen auf dem ftp server.
2.-Fragt User nach dem dazugehörigen Passwort.
3.-Fragt User nach der Ip des Servers.
4.-Fragt User nach seinem Home verzeichniss.
5.-Connectet mithilfe dieser daten zum Ftp Server
6.-Führt dort ein paar cmmandos aus.
Nachdem ich die schritte 1-4 ausgeführt worden sind möchte ich ihn über folgende zeile:
FTP -n -d -s:1.txt %ip%
connecten lassen.
In der txt Datei 1.txt befinden sich die Commandos die nach dem verbinden ausgeführt werden sollen sie sieht folgendermaßen aus:
USER username
PASS passwort
cd /httpdocs/
mkdir test
mkdir test2
mkdir test3
quit
Mein Problem besteht jetzt darin dass "username" und "passwort" in 1.txt logischerweise mit dem inhalt der in Schritt 1.-2. erstellten Variablen %username% und %passwort% ersetzt werden sollen.
Damit beim connecten auch die richtigen daten verwendet werden.
Hier nocheinmal der wichtige teil meiner Bat:
:choice
echo()----------Ftp Script-----------()
@echo 1. Los
@echo off
set /p choice=
if %choice% == 1 goto infos
:Infos
@echo Dein UserName:
set /p username=
@echo Server Ip:
set /p ip=
@echo Pfad bis zum Home Ordner:
set /p homeordner=
goto connect
:connect
FTP -n -d -s:1.txt %ip%
Wie könnte ich das realisieren?
Mfg. lolio
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 50668
Url: https://administrator.de/contentid/50668
Ausgedruckt am: 08.11.2024 um 02:11 Uhr
7 Kommentare
Neuester Kommentar
Du könntest es über eine Temponäre Datei regeln.
Du hast ja deine eingaben von Benutzername und Passwort:
In deine 1.txt schreibst du alles außer den ersten Beiden Zeilen für Benutzername und Passwort, also:
Dann erstellst du eine Temponäre Datei die du wirklich verwendest:
Dann kommt den Aufruf, allerdings mit 2.txt statt 1.txt:
und anschließend kanst du die Temponäre Datei aus Sicherheitsgründen wieder löschen:
miniversum
Du hast ja deine eingaben von Benutzername und Passwort:
@echo Dein UserName:
set /p username=
@echo Dein Passwort:
set /p passwort=
set /p username=
@echo Dein Passwort:
set /p passwort=
In deine 1.txt schreibst du alles außer den ersten Beiden Zeilen für Benutzername und Passwort, also:
cd /httpdocs/
mkdir test
mkdir test2
mkdir test3
quit
mkdir test
mkdir test2
mkdir test3
quit
Dann erstellst du eine Temponäre Datei die du wirklich verwendest:
echo USER %username%>%temp%\2.txt
echo PASS %passwort%>>%temp%\2.txt
type 1.txt>>2.txt
echo PASS %passwort%>>%temp%\2.txt
type 1.txt>>2.txt
Dann kommt den Aufruf, allerdings mit 2.txt statt 1.txt:
FTP -n -d -s:%temp%\2.txt %ip%
und anschließend kanst du die Temponäre Datei aus Sicherheitsgründen wieder löschen:
del %temp%\2.txt /Q
miniversum
... und die Variableninhalte (speziell von %passwort%) per "setlocal" / "endlocal" oder zumindest mit "set passwort=" eliminieren.
Abgesehen davon wird das Passwort bisher nicht eingegeben und der %homeordner% noch nicht verwendet. Am "Menü" wirst Du sicher auch noch etwas basteln müssen (etwa: Was soll passieren, wenn nicht "1" eingegeben wurde?).
Grüße
bastla
Abgesehen davon wird das Passwort bisher nicht eingegeben und der %homeordner% noch nicht verwendet. Am "Menü" wirst Du sicher auch noch etwas basteln müssen (etwa: Was soll passieren, wenn nicht "1" eingegeben wurde?).
Grüße
bastla
Hallo lolio!
Wenn der Pfad für den "homeordner" zB "/httpdocs/homeordner" lautet, ist die erste Zeile aus der "1.txt" zu löschen und ebenfalls per Batch zu erstellen. Zusätzlich müsstest Du in der "type"-Zeile für "2.txt" den Pfad richtig angeben, sodass der entsprechende Teil in Deinem Batch etwa so aussehen müsste:
Grüße
bastla
Wenn der Pfad für den "homeordner" zB "/httpdocs/homeordner" lautet, ist die erste Zeile aus der "1.txt" zu löschen und ebenfalls per Batch zu erstellen. Zusätzlich müsstest Du in der "type"-Zeile für "2.txt" den Pfad richtig angeben, sodass der entsprechende Teil in Deinem Batch etwa so aussehen müsste:
echo USER %username%>%temp%\2.txt
echo PASS %passwort%>>%temp%\2.txt
echo cd /httpdocs/%homeordner%>>%temp%\2.txt
type 1.txt>>%temp%\2.txt
Grüße
bastla