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

Sprungziel als Variable

Frage Entwicklung Batch & Shell

Mitglied: maxmex

maxmex (Level 1) - Jetzt verbinden

21.03.2009, aktualisiert 19:53 Uhr, 3759 Aufrufe, 3 Kommentare

Hallo Leute im Batchforum,

ich habe mich seit einiger Zeit mal wieder mit Batch beschäftigt und bin bei einer Usereingabe auf folgendes Problem gestoßen.
Ich habe Usereingaben 1, 2, 3,.....7, 8 und 9 die dann auch entsprechend weitergeleitet werden.

set /p eingabe=": "
goto %eingabe%
:1
....
:9

Wenn ich jetzt aber einen User habe der etwas anderes eingibt. Wie kann ich denn das abfangen?

set /p eingabe=": "
goto %eingabe%
:1
....
:9
:%eingabe%

so hab ich es probiert. Es geht aber überhaupt nicht und ich stehe irgendwie da und weiß nicht weiter.

Wäre nett wenn mir jemand weiterhelfen könnte

Danke
maxmex
Mitglied: 60730
21.03.2009 um 20:10 Uhr
Servus,
ein Weg wäre - den "hier dürfte nie einer sein" zu wählen:

01.
:start 
02.
set /p eingabe=": " 
03.
goto %eingabe% 
04.
echo  Falsche Eingabe && goto start 
05.
:1
ein anderer wäre - "stimmts"?
Im Fall einer Zahl zwischen 1 und 9 eher leicht

01.
:start 
02.
set /p eingabe=": " 
03.
for /l %%i in (1,1,9) do if  "%%i" =="%eingabe%" goto %eingabe% 
04.
echo  Falsche Eingabe && goto start 
05.
:1
Gruß
Bitte warten ..
Mitglied: 77522
11.04.2009 um 00:09 Uhr
hi
ich bin mir nicht sicher aber du könntest es vielleicht so machen:

@echo off
echo eingabe:
set /p "eingabe="
if "%eingabe%" =="1" goto 1
if "%eingabe%" =="2" goto 2
if "%eingabe%" =="3" goto 3
if "%eingabe%" =="4" goto 4
if "%eingabe%" =="5" goto 5
if "%eingabe%" =="6" goto 6
if "%eingabe%" =="7" goto 7
if "%eingabe%" =="8" goto 8
if "%eingabe%" =="9" goto 9
if not "%eingabe%" =="1,2,3,4,5,6,7,8,9" goto 10


oder
for /l %%t in (1 1 9) do if "%eingabe%" =="%%t" goto %eingabe%
for /l %%t in (1 1 9) do if not "%eingabe%" =="%%t" goto (was auch immer)
Bitte warten ..
Mitglied: 60730
11.04.2009 um 14:44 Uhr
Servus,

entweder ist das Problem schon gelöst - oder der Verfasser hat sich aus dem Staub gemacht

Ich verstehe tatsächlich deine Lösung nicht - bzw. den Unterschied zur Vorherigen...

"Probier mal folgendes aus:

if not "%windir%"=="%windir%,%username%" echo wie auch
if not "%username%"=="%windir%,%username%" echo so auch nicht

Um das "so" zu realisieren, müste das in einer Schleife laufen.
Apropos Schleife:

FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]
Der Satz ist eine Folge von Zahlen von Start bis Ende und der
angegebenen Schrittweite. So erzeugt (1,1,5) die Folge 1 2 3 4 5 und
(5,-1,1) erzeugt die Folge (5 4 3 2 1).

Die Kommas, die du oben (ohne Schleife) benutzt - müssen bei deiner anderen Alternative schon drin sein
for /l %%t in (1 1 9) do if "%eingabe%" =="%%t" goto %eingabe%
(Wären Sie es - würde die Zeile auch funktionieren und hätte bis auf eine andere Variable - %%T statt %%i - den gleichen Inhalt, wie diejenige welche da schon seit ~3 Wochen steht)


Gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

VB for Applications
Auswahlliste mit variablen (3)

Frage von 94451 zum Thema VB for Applications ...

Batch & Shell
gelöst Variable in Regedit (3)

Frage von MeinSenfDazu zum Thema Batch & Shell ...

Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...