Eingabe in Schleife
Guten Morgen,
ich habe wieder mal ein kleines Problem mit einer Batch.
Kurze Erläuterung: Ich Brauche eine Batch in der einige eingaben machen muss, und die Batch mir dann daraus eine .ini schreibt.
Komma ja so weit klar aber das Problem was ich jetzt habe ist das ich keine Lust habe eine batch mit Hundertenderten "set /p" befehlen. Will das ganze in eine Schleife packen da sich das ganze wiederholt.
Hier ein kleiner Einblick:
set /p sig_art1_Ls1=Signal LS1?:
set /p art1_Ls1=Ls1?:
set /p sig_art1_Ls2=Signal LS2?:
set /p art1_Ls2=Ls2?:
set /p sig_art1_Ls3=Signal LS3?:
set /p art1_Ls3=Ls3?:
set /p sig_art1_Ls4=Signal LS4?:
set /p art1_Ls4=Ls4?:
set /p sig_art1_Ls5=Signal LS5?:
set /p art1_Ls5=Ls5?:
set /p sig_art1_Ls6=Signal LS6?:
set /p art1_Ls6=Ls6?:
set /p sig_art1_Ls7=Signal LS7?:
set /p art1_Ls7=Ls7?:
set /p sig_art1_Ls8=Signal LS8?:
set /p art1_Ls8=Ls8?:
set /p sig_art1_Ls1=Signal LS1?:
set /p art2_Ls1=Ls1?:
set /p sig_art1_Ls2=Signal LS2?:
set /p art2_Ls2=Ls2?:
set /p sig_art1_Ls3=Signal LS3?:
set /p art2_Ls2=Ls3?:
set /p sig_art_Ls4=Signal LS24?:
set /p art2_Ls4=Ls4?:
set /p sig_art2_Ls5=Signal LS5?:
set /p art2_Ls5=Ls5?:
set /p sig_art2_Ls6=Signal LS6?:
set /p art2_Ls6=Ls6?:
set /p sig_art2_Ls7=Signal LS7?:
set /p art2_Ls7=Ls7?:
set /p sig_art2_Ls8=Signal LS8?:
set /p art2_Ls8=Ls8?:
Und es geht noch viel weiter. Kann mir jetzt jemand sagen wie ich das einfacher machen kann? Habe mir gedacht in einer Schleife aber mit Schleifen habe ich noch nicht gearbeitet.
Wäre nett wenn mir jemand einfach mal was schreibt ich werde es dann an den Rest selber anpassen.
ich habe wieder mal ein kleines Problem mit einer Batch.
Kurze Erläuterung: Ich Brauche eine Batch in der einige eingaben machen muss, und die Batch mir dann daraus eine .ini schreibt.
Komma ja so weit klar aber das Problem was ich jetzt habe ist das ich keine Lust habe eine batch mit Hundertenderten "set /p" befehlen. Will das ganze in eine Schleife packen da sich das ganze wiederholt.
Hier ein kleiner Einblick:
set /p sig_art1_Ls1=Signal LS1?:
set /p art1_Ls1=Ls1?:
set /p sig_art1_Ls2=Signal LS2?:
set /p art1_Ls2=Ls2?:
set /p sig_art1_Ls3=Signal LS3?:
set /p art1_Ls3=Ls3?:
set /p sig_art1_Ls4=Signal LS4?:
set /p art1_Ls4=Ls4?:
set /p sig_art1_Ls5=Signal LS5?:
set /p art1_Ls5=Ls5?:
set /p sig_art1_Ls6=Signal LS6?:
set /p art1_Ls6=Ls6?:
set /p sig_art1_Ls7=Signal LS7?:
set /p art1_Ls7=Ls7?:
set /p sig_art1_Ls8=Signal LS8?:
set /p art1_Ls8=Ls8?:
set /p sig_art1_Ls1=Signal LS1?:
set /p art2_Ls1=Ls1?:
set /p sig_art1_Ls2=Signal LS2?:
set /p art2_Ls2=Ls2?:
set /p sig_art1_Ls3=Signal LS3?:
set /p art2_Ls2=Ls3?:
set /p sig_art_Ls4=Signal LS24?:
set /p art2_Ls4=Ls4?:
set /p sig_art2_Ls5=Signal LS5?:
set /p art2_Ls5=Ls5?:
set /p sig_art2_Ls6=Signal LS6?:
set /p art2_Ls6=Ls6?:
set /p sig_art2_Ls7=Signal LS7?:
set /p art2_Ls7=Ls7?:
set /p sig_art2_Ls8=Signal LS8?:
set /p art2_Ls8=Ls8?:
Und es geht noch viel weiter. Kann mir jetzt jemand sagen wie ich das einfacher machen kann? Habe mir gedacht in einer Schleife aber mit Schleifen habe ich noch nicht gearbeitet.
Wäre nett wenn mir jemand einfach mal was schreibt ich werde es dann an den Rest selber anpassen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 32758
Url: https://administrator.de/contentid/32758
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
6 Kommentare
Neuester Kommentar
Moin,
hast du dir das schon reingezogen?
Psycho
hast du dir das schon reingezogen?
Psycho
Moin Hummel85,
hier ein Beispiel zur ersten Frage.
Zählvariablen heißen %%a und %%b für sig_art[%%a]_Ls[%%b]
Das "echo" nach dem test rausnehmen..ist nur zur Demo.
Zweite Frage (prüfen auf numerisch).
Ja. Aber nach der Eingabe, nicht während.
Beispiel:
Wenn Du mit set /a ...= ...+0 addierst und als Ergebnis 0 herauskommt, dann war der Wert nicht numerisch.
Grüße
Biber
[Edit]
[/Edit]
hier ein Beispiel zur ersten Frage.
Zählvariablen heißen %%a und %%b für sig_art[%%a]_Ls[%%b]
Das "echo" nach dem test rausnehmen..ist nur zur Demo.
:: --- snipp ForL-exam.bat
@echo off & setlocal
Set /a "art_Max=3" && Rem Beispiel: sig_art3 ist höchste sig_Art
Set /a "Ls_Max=9" && Rem Beispiel: max 9 Ls-Signale
For /l %%a in (1,1,%art_Max%) do (
For /l %%b in (1,1,%Ls_max%) do (
echo set /p sig_art%%a_Ls%%b=Signal LS%%b?:
echo set /p art%%a_Ls%%b=Ls%%b?:
))
goto :eof
::---- snapp forL-exam.bat
Zweite Frage (prüfen auf numerisch).
Ja. Aber nach der Eingabe, nicht während.
Beispiel:
>set /P "num2=Bitte Zahl eingeben: "
Bitte Zahl eingeben: fsda
(variable num2 hat den Wert fsda)
>set /a num2=%num2%+0
0
Wenn Du mit set /a ...= ...+0 addierst und als Ergebnis 0 herauskommt, dann war der Wert nicht numerisch.
Grüße
Biber
[Edit]
..., dann war der Wert nicht numerisch.
Oder vorher auch 0. *gg[/Edit]