Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CHOICE Frage Was tun bei Falscheingabe des Users wie kann gesprungen werden

Frage Entwicklung Batch & Shell

Mitglied: MrSonei6

MrSonei6 (Level 1) - Jetzt verbinden

30.06.2012, aktualisiert 14:13 Uhr, 3384 Aufrufe, 3 Kommentare

Hi ich Jungs und Mädls? ;)

Ich bastl gerade an ner .bat Datei rum.

Ich hab zwei Auswahlmöglichkeiten die mit "1" und "2" zum jeweiligen punkt im Skript springen.

Frage wie oder was kann ich eingeben wenn ich eine nicht angegebene Auswahl eingebe damit das Skript zu einen bestimmten Punkt springt wenn ich zum Beispiel eine "5" eingebe soll es zu dem Punkt "Falsch" im Skript springen

Hier mal der Anfang vom Script

:NEU
@CLS
@TITLE ShutDown Programm
@ECHO In wievielen Stunden soll sich dein PC Herunterfahren?
@Echo Bitte gebe eine Zahl zwischen 1 und 2 ein
@ECHO [1]= 1h [2]= 2h
@Echo *
@ECHO [a]= Herunterfahren abbrechen
@ECHO *
@ECHO [e]= Exit
@ECHO.
@SET /P CHOICE=
@IF "%CHOICE%" == "1" GOTO :1
@IF "%CHOICE%" == "2" GOTO :2
@IF "%CHOICE%" == "a" GOTO :ABBRUCH
@IF "%CHOICE%" == "e" GOTO :EXIT

UND HIER MÖCHTE ICH EINE FALSCHENGABE ABFANGEN DIE MICH ZU DEN PUNKT ":FALSCH" IM SKRIPT BRINGT

HABE SCHON folgendes getestet
"@IF "%CHOICE%" => "nul" GOTO :FALSCH"
oder
if not %choice%== set choice=%choice:FALSCH%



:1
@CLS
@ECHO Dein PC faehrt in einer Stunde herunter.
@ECHO *
@ECHO Fals du jetzt doch noch abbrechen willst druecke "a"
@shutdown /s /t 3600

@SET /P CHOICE=
@IF "%CHOICE%" == "a" GOTO :ABBRUCH
@IF "%CHOICE%" => "nul" GOTO :EXIT
@ECHO.

:2
@CLS
@ECHO Dein PC faehrt in zwei Stunde herunter.
@ECHO *
@ECHO Fals du jetzt doch noch abbrechen willst druecke "a"
@shutdown /s /t 7200

@SET /P CHOICE=
@IF "%CHOICE%" == "a" GOTO :ABBRUCH
@IF "%CHOICE%" => "nul" GOTO :EXIT
@ECHO.

........
Mitglied: rubberman
30.06.2012, aktualisiert um 14:28 Uhr
Hallo MrSonei6

Ein @echo off am Anfang des Codes erspart dir die @s am Anfang jeder Zeile. Codeformatierung wäre auch nett gewesen.

Zu deinem Problemchen:
01.
IF "%CHOICE%" == "1" GOTO :1 
02.
IF "%CHOICE%" == "2" GOTO :2 
03.
IF "%CHOICE%" == "a" GOTO :ABBRUCH 
04.
IF "%CHOICE%" == "e" GOTO :EXIT
Nach diesen Zeilen ist klar, dass die Variable CHOICE weder den Wert 1, noch 2, a, oder e hat, denn das wurde ja bereits geprüft. Du musst also nichts weiter tun als ein GOTO FALSCH in die nächste Zeile schreiben.

Grüße
rubberman
Bitte warten ..
Mitglied: MrSonei6
30.06.2012 um 14:48 Uhr
Vielen lieben Dank
So einfach OHH man
DANKE

Und Entschuldige die nicht Codeformatierung, habe ich vergessen!!

LG
ICH
Bitte warten ..
Mitglied: pieh-ejdsch
30.06.2012, aktualisiert um 16:17 Uhr
moin,

eine Fehlerunabhängige Variante zB. wegen Sonderzeichen bei Eingabe:
01.
for /f delims^= %i in ('set /p "choice=Bitte mach Deine Eingabe: "^>con ^&cmd /von/c echo !choice!' 
02.
) do   IF %%i == 1 (GOTO :1 
03.
) else IF %%i == 2 (GOTO :2 
04.
) else IF /i %%i == a (GOTO :ABBRUCH 
05.
) else IF /i %%i == e GOTO :EXIT 
06.
GOTO :Falsch
PS.
Entschuldige die nicht Codeformatierung, habe ich vergessen!!
Dann hole sie doch bitte nach.
[Edit]
Goto :Falsch nach die Schleife gesetzt.
[/Edit]

Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Choice Zusatztool, ENTER und ESC? (Batch) (23)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
gelöst Account-Sperrungen eines AD-Users auslesen (2)

Frage von MissJones zum Thema Windows Server ...

Administrator.de Feedback
gelöst Fragen werden nicht angezeigt? (8)

Frage von Lochkartenstanzer zum Thema Administrator.de Feedback ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...