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, 3370 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Server 2012R2 Frage zum DHCP Failover (6)

Frage von Coreknabe zum Thema Windows Server ...

LAN, WAN, Wireless
Frage zum Erzeugen eines portbasiertem VLAN (7)

Frage von presto-18 zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
gelöst HP Switches - Frage zu Spanning Tree bzw. Loop Back Protection (12)

Frage von chfran zum Thema LAN, WAN, Wireless ...

Windows Userverwaltung
gelöst Mit der PoweShell die lokal angelegten Users eines anderen Rechners auflisten (7)

Frage von M.Marz zum Thema Windows Userverwaltung ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...