Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 3393 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 ...

Exchange Server
Merkwürdige ordnerreplikation bei allen users (2)

Frage von instinctless zum Thema Exchange Server ...

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 ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (17)

Frage von zauberer123 zum Thema Windows 10 ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...