eingabe von kommazahlen in meiner batch-datei macht probleme.
tach zusammen,
ich habe eine kleine batch-datei zum ausführen von programmen gebastelt.
funktioniert soweit auch alles, doch wenn ich bei der eingabe etwas anderes als eine ganze zahl
eingebe schliesst sich das fenster ohne vorwarnung. nun meine frage...gibt es vielleicht soetwas
wie einen parameter (nur ganze zahlen) z.b. if not (nur ganze zahlen) %p%==goto falsch?
anbei meine batch-datei...
@echo off
:start
echo.
echo Welches Programm m”chten sie starten? (w„hlen sie 1,2,3 oder 4-gar keins)
echo.
echo 1. firefox
echo.
echo 2. outlook
echo.
echo 3. explorer
echo.
set /p p=
if %p%==1 start /max C:\Programme\Mozill~1\firefox.exe
if %p%==2 start /max C:\Programme\Outloo~1\msimn.exe
if %p%==3 start /max C:\WINDOWS\explorer.exe /e, d:\daten
if %p%==4 exit
if %p% gtr 4 goto falsch
echo.
echo Das Programm wird nun gestartet...
echo.
echo M”chten sie ein weiteres Programm starten? (W„hlen sie j oder n)
echo.
set /p w=
if %w%==j goto start
if %w%==n exit
:falsch
echo.
echo !!! Ihre Eingabe war ungltig !!!
echo.
goto start
echo.
vielen dank im voraus...
ich habe eine kleine batch-datei zum ausführen von programmen gebastelt.
funktioniert soweit auch alles, doch wenn ich bei der eingabe etwas anderes als eine ganze zahl
eingebe schliesst sich das fenster ohne vorwarnung. nun meine frage...gibt es vielleicht soetwas
wie einen parameter (nur ganze zahlen) z.b. if not (nur ganze zahlen) %p%==goto falsch?
anbei meine batch-datei...
@echo off
:start
echo.
echo Welches Programm m”chten sie starten? (w„hlen sie 1,2,3 oder 4-gar keins)
echo.
echo 1. firefox
echo.
echo 2. outlook
echo.
echo 3. explorer
echo.
set /p p=
if %p%==1 start /max C:\Programme\Mozill~1\firefox.exe
if %p%==2 start /max C:\Programme\Outloo~1\msimn.exe
if %p%==3 start /max C:\WINDOWS\explorer.exe /e, d:\daten
if %p%==4 exit
if %p% gtr 4 goto falsch
echo.
echo Das Programm wird nun gestartet...
echo.
echo M”chten sie ein weiteres Programm starten? (W„hlen sie j oder n)
echo.
set /p w=
if %w%==j goto start
if %w%==n exit
:falsch
echo.
echo !!! Ihre Eingabe war ungltig !!!
echo.
goto start
echo.
vielen dank im voraus...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 96207
Url: https://administrator.de/forum/eingabe-von-kommazahlen-in-meiner-batch-datei-macht-probleme-96207.html
Ausgedruckt am: 09.04.2025 um 14:04 Uhr
3 Kommentare
Neuester Kommentar
Moin tobias3355,
vier Schritte sollten Deine Probleme lösen:
Dadurch wird die (erwartete) Eingabe zwangsweise zu einem Ganzzahl-Wert.
Wortreicher:
Dann kannst Du Deine "GTR 4"-Bedingung noch ergänzen mit einer "EQU 0"-Bedingung und hast alle Fehleingaben im Griff.
Grüße
Biber
vier Schritte sollten Deine Probleme lösen:
- immer in Code-Tags posten
- niemals in diesem Bereich "vielen Dank im Voraus" schreiben
- unter Windows und CMD.exe die gleiche Codepage benutzen ODER weingstens einen Editor, der DOS und ANSI-Format ken (NotePad+, PsPad, TextPad, UltraEdit, Boxer,.PFE...- eigentlich alle außer Notepad.exe)
- füge nach der "Set /P p=..."-Zeile noch folgende ein:
Set /a p=p
Wortreicher:
- aus Eingabe 3 wird: 3
- aus Eingabe 3,14 wird nicht Pi, sondern auch 3
- aus Eingabe o3 wird kein Ozonmolekül, sonder 0 [Null], da keine Zahl eingegeben.
Dann kannst Du Deine "GTR 4"-Bedingung noch ergänzen mit einer "EQU 0"-Bedingung und hast alle Fehleingaben im Griff.
Grüße
Biber
Code-Tags sind beschrieben unter "Formatierungshilfen" oder in unseren "Häufigen Fragen".
Heraus kommt z.B. ein durchnummerierter Code-Block dieser Art:
statt so etwas:
set /p p=
echo %p%|find "," >nul
if errorlevel 0 goto falsch
> Einige ältere Leute hier halten die erste Code-Variante für lesbarer.
Grüße
Biber
Heraus kommt z.B. ein durchnummerierter Code-Block dieser Art:
set /p p=
echo %p%|find "," >nul
if errorlevel 0 goto falsch
...
set /p p=
echo %p%|find "," >nul
if errorlevel 0 goto falsch
> Einige ältere Leute hier halten die erste Code-Variante für lesbarer.
zu 2: warum sollte ich mich nicht im voraus bedanken?
Weil dem ganzen Forum mit einer Rückmeldung "Klappt" oder "klappt nicht" mehr geholfen ist als mit einem Dank im Voraus, 3 Lösungsvorschlägen und ohne Feedback.Grüße
Biber