Batch Mehrfachauswahl + Text eingabe in Mehrfachauswahl und Loop
Hallöchen, ich hänge gerade etwas fest und hoffe mir kann jemand mit der Umsetzung helfen.
Ich bin fast fertig, nur ich komme nicht zum letzten schritt.
Heißt:
Die Mehrfachauswahl ist fertig, nun möchte ich aber einen Eintrag in der Mehrfachauswahl, wo ich erneut keinen fertigen Code habe, sondern mir etwas eintragen kann.
Das schwierige dabei ist, jede Option ist ein loop und bei der letzten Option (a) = andere soll ein eigener Name einfügt werden können, also per Set /p etc.. aber ich hapere mit der Umsetzung mit dem Code, da der Befehl ja auch noch inklusive dem loop eintragen werden muss.
Wie man sieht habe ich es probiert, aber irgendwie will das nicht :S
Derzeit meine Batch:
Habe es nun doch hinbekommen, ich danke trotzdem allen
Lösung von mir selber
Ich bedanke mich für jede Hilfe und hoffe auf eine schnelle Lösung.
Dankee
Ich bin fast fertig, nur ich komme nicht zum letzten schritt.
Heißt:
Die Mehrfachauswahl ist fertig, nun möchte ich aber einen Eintrag in der Mehrfachauswahl, wo ich erneut keinen fertigen Code habe, sondern mir etwas eintragen kann.
Das schwierige dabei ist, jede Option ist ein loop und bei der letzten Option (a) = andere soll ein eigener Name einfügt werden können, also per Set /p etc.. aber ich hapere mit der Umsetzung mit dem Code, da der Befehl ja auch noch inklusive dem loop eintragen werden muss.
Wie man sieht habe ich es probiert, aber irgendwie will das nicht :S
Derzeit meine Batch:
Habe es nun doch hinbekommen, ich danke trotzdem allen
Lösung von mir selber
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "DD=%dt:~6,2%" & set "MM=%dt:~4,2%" & set "YYYY=%dt:~0,4%" & set "YY=%dt:~2,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%DD%%MM%%YYYY%"
set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%DD%-%MM%-%YYYY%__%HH%-%Min%-%Sec%"
echo ###############################
echo #### ####
echo #### Channel auswahl ####
echo.#### ####
echo #### 1 = Name ####
echo #### 2 = Name ####
echo #### 3 = Name ####
echo #### 4 = Name ####
echo #### 5 = Name ####
echo #### 6 = Name ####
echo #### a = Andere ####
echo #### ####
echo ###############################
echo.
set TwitchName=0
set /p TwitchName="Twitch Channel auswahl: "
if %TwitchName%==1 goto :TwitchName1
if %TwitchName%==2 goto :TwitchName2
if %TwitchName%==3 goto :TwitchName3
if %TwitchName%==4 goto :TwitchName4
if %TwitchName%==5 goto :TwitchName5
if %TwitchName%==6 goto :TwitchName6
if %TwitchName%==a set /p N="Channel: " & goto :TwitchName7
:TwitchName1
Your Code
:TwitchName2
Your Code
:TwitchName3
Your Code
:TwitchName4
Your Code
:TwitchName5
Your Code
:TwitchName6
Your Code
:TwitchName7
@echo off
Your Code und natürlich die %N% variablen Ausgabe nicht vergessen, dann nur noch den erneuten Abruf als Loop und fertig sind wir.
So funktioniert es bei mir zumindest :D
timeout /t 10
goto TwitchName7
Ich bedanke mich für jede Hilfe und hoffe auf eine schnelle Lösung.
Dankee
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4693506154
Url: https://administrator.de/contentid/4693506154
Ausgedruckt am: 21.11.2024 um 19:11 Uhr
5 Kommentare
Neuester Kommentar
Wenn du choice nimmst entfallen die ganzen if Abfragen und beschränken sich dann auf ne simple goto Anweisung 😉 ...
choice /c 1234567a /m "Ihre Auswahl"
goto TwitchName%errorlevel%
?? Ist doch das gleiche wie die anderen auch sehe da keinen Unterschied oder da fehlt ein Hinweis von deiner Seite,
Wenn du die zusätzliche Abfrage meinst die kannst du ja in der Sprungmarke unterbringen.... Sehe da ehrlich gesagt kein Problem ...
Aber mal ehrlich, sowas macht doch heute keiner mehr mit Batch, außer man hat einen sadomassochistischen 80er Fetisch.... 🙈
Wenn du die zusätzliche Abfrage meinst die kannst du ja in der Sprungmarke unterbringen.... Sehe da ehrlich gesagt kein Problem ...
Aber mal ehrlich, sowas macht doch heute keiner mehr mit Batch, außer man hat einen sadomassochistischen 80er Fetisch.... 🙈
Noch eine kleine Anmerkung am Rande: Möchtest du, dass nach TwitchName1 dann auch TwitchName2,3,4,.... ausgeführt wird? Ansonsten solltest du noch jedes GOTO noch mit einem GOTO beenden was dich aus deinem GOTO-Schleifenkonstrukt hinaus bringt. Auch macht dein Timeout für mich keinen Sinn, es sei denn du möchtest das Skript künstlich verzögern.
So in etwa:
So in etwa:
@echo off
:SkriptStart
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "DD=%dt:~6,2%" & set "MM=%dt:~4,2%" & set "YYYY=%dt:~0,4%" & set "YY=%dt:~2,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%DD%%MM%%YYYY%"
set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%DD%-%MM%-%YYYY%__%HH%-%Min%-%Sec%"
echo ###############################
echo #### ####
echo #### Channel auswahl ####
echo.#### ####
echo #### 1 = Name ####
echo #### 2 = Name ####
echo #### 3 = Name ####
echo #### 4 = Name ####
echo #### 5 = Name ####
echo #### 6 = Name ####
echo #### a = Andere ####
echo #### ####
echo ###############################
echo.
set TwitchName=0
set /p TwitchName="Twitch Channel auswahl: "
if %TwitchName%==1 goto :TwitchName1
if %TwitchName%==2 goto :TwitchName2
if %TwitchName%==3 goto :TwitchName3
if %TwitchName%==4 goto :TwitchName4
if %TwitchName%==5 goto :TwitchName5
if %TwitchName%==6 goto :TwitchName6
if %TwitchName%==a set /p N="Channel: " & goto :TwitchName7
:TwitchName1
Your Code
goto SkriptEnde
:TwitchName2
Your Code
goto SkriptEnde
:TwitchName3
Your Code
goto SkriptEnde
:TwitchName4
Your Code
goto SkriptEnde
:TwitchName5
Your Code
goto SkriptEnde
:TwitchName6
Your Code
goto SkriptEnde
:TwitchName7
goto TwitchName7
:SkriptEnde
set /p Nochmal="Möchten Sie das Skript erneut ausführen (y/n)?: "
if %Nochmal%==y goto SkriptStart
echo Skript wurde beendet.
pause