Abfragen, ob die Eingabe eine Zahl ist in Eingabeaufforderung Script!?
Um zu überprüfen, ob die Eingabe eine Zahl ist, kannst du in einem Batch-Skript eine einfache Überprüfung mittels if und einer Regular Expression (RegEx) durchführen. Allerdings gibt es in CMD keine direkte Unterstützung für reguläre Ausdrücke, aber du kannst mit der set /a-Anweisung sicherstellen, dass nur gültige Zahlen verarbeitet werden.
@echo off
:: Verhindert, dass Befehle im Terminal angezeigt werden.
:start
:: Definiert den Startpunkt der Schleife.
chcp 65001 >nul
:: Stellt die Codepage auf UTF-8 ein und unterdrückt die Ausgabe.
echo Addieren
echo Bitte wählen Sie die 2 Nummern, die Sie addieren möchten. Jede Nummer mit ENTER bestätigen.:: Eingabe der ersten Zahl
set /p num1=Erste Zahl:
:: Fordert den Benutzer auf, die erste Zahl einzugeben.
call :check_if_number %num1%
:: Ruft die Subroutine auf, um zu prüfen, ob die Eingabe eine Zahl ist.
if errorlevel 1 (:: Falls die Eingabe ungültig ist, wird eine Fehlermeldung ausgegeben.
echo Fehler: "%num1%" ist keine gültige Zahl.
goto start
:: Zurück zum Startpunkt.):: Eingabe der zweiten Zahl
set /p num2=Zweite Zahl:
:: Fordert den Benutzer auf, die zweite Zahl einzugeben.
call :check_if_number %num2%
:: Ruft die Subroutine erneut auf, um die zweite Eingabe zu prüfen.
if errorlevel 1 (:: Falls die zweite Eingabe ungültig ist, wird ebenfalls eine Fehlermeldung ausgegeben.
echo Fehler: "%num2%" ist keine gültige Zahl.
goto start
:: Zurück zum Startpunkt.)
echo %num1% + %num2%?
pause
:: Zeigt die Eingaben und pausiert, damit der Benutzer die Werte überprüfen kann.:: Berechnung der Summe
set /a Answer=%num1%+%num2%
:: Addiert die beiden Zahlen und speichert das Ergebnis in der Variable "Answer".
echo Ergebnis: %Answer%
:: Gibt das Ergebnis aus.
pause
:: Pausiert, um dem Benutzer das Ergebnis anzuzeigen.
goto start
:: Springt zurück zum Startpunkt, um eine neue Addition durchzuführen.
:e
:: Markiert das Ende des Programms (wird aktuell nicht genutzt).
echo Fertig!
pause
exit /b
:: Beendet das Skript.:: Subroutine zur Überprüfung, ob die Eingabe eine Zahl ist
:check_if_number
:: Beginnt die Subroutine zur Überprüfung numerischer Eingaben.
echo %1 | findstr /r "^[0-9]" >nul
:: Prüft, ob die Eingabe mit einer Zahl beginnt (regulärer Ausdruck).
if errorlevel 1 (:: Falls keine Zahl gefunden wird, gibt die Subroutine einen Fehlerstatus zurück.
exit /b 1)
exit /b 0:: Beendet die Subroutine mit Status 0 (erfolgreich), wenn die Eingabe gültig ist.
2.) Zusammenfassung
- Fehlerprüfung: Das Skript stellt sicher, dass nur gültige Zahlen eingegeben werden.
- Subroutine: `:check_if_number` validiert die Eingaben und sorgt für fehlerfreie Berechnungen.
- Schleife: Nach jeder Addition kehrt das Skript zum Start zurück.
FAQ 167: Aktualisiert am: 4 Dezember 2024 13:52Windows
Möglichkeit Tastatureingaben in einem CMD-Skript oder einer Eingabeaufforderung zu verarbeiten. In der Windows-Eingabeaufforderung CMD gibt es keine direkte
Ein Windows-Computer lässt sich schnell und effizient über die Eingabeaufforderung Command Prompt herunterfahren oder neu starten. Diese Methode ist besonders
Falls man mit dem langsamen Aufklappen der Menüs nicht zufrieden weil das zu langsam ist kann man es recht einfach unter MS Windows OS ändern Inhalt: 1.
Die Lösung um eine IP-Adresse herauszufinden ist denkbar einfach Und geeignet für all MS Windows 11, 10, Desktop PCs und Microsoft Server Betriebssysteme
Öffnen/Starten Sie hierzu die cmd.exe oder starten Sie die ColorConsole auf ihrem MS Windows 11, 10, oder Microsoft Server OS. Vorabtipp: Für Einsteiger
Mit der Eingabeaufforderung kann man Recht gut Dateien in Ordnern auflisten auf allen MS Windows Desktop und Server Betriebssystemen Inhalt: 1. Dateien
Diese Webseite speichert keine personenbezogenen Daten. Allerdings werden Drittanbieter verwendet, um Werbung zu schalten. Diese wird von Google verwaltet und entspricht dem IAB Transparency and Consent Framework (IAB-TCF). Die CMP-ID lautet 300 und kann am Seitenende individuell angepasst werden. mehr Infos & Datenschutz ....