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

Variabel einen Parameter abfragen

Frage Entwicklung Batch & Shell

Mitglied: yakazaa

yakazaa (Level 1) - Jetzt verbinden

20.08.2012 um 12:06 Uhr, 2606 Aufrufe, 3 Kommentare

Hallo zusammen,

kurzum: ich habe eine Variable %NAME%, diese kann z.B. ABC-1, ABC-5, ABC-8 aber auch DEF-7; DEF-1 beinhalten.
Andere Namen sind ausgeschlossen, natürlich nicht andere Ziffern !

Für mich ich primär erstmal wichtig was vor dem '-' steht, somit möchte ich fragen:

IF %NAME%=ABC-* GOTO ABC-GRUPPE
IF %NAME%=DEF-* GOTO DEF-GRUPPE

Klappt natürlich nicht

Das können prinzipiell 1000 verschiedene Werte sein, somit möchte ich jetzt nicht andauernd fragen
"Ist es ABC-1 ? Nein !"
"Ist es ABC-2 ? Nein !"
"Ist es ABC-3 ? Nein !"
...
"Ist es ABC-165 ? Ja !"

Gibt es da evtl. eine Möglichkeit ?

Gruß Dominik
Mitglied: bastla
20.08.2012, aktualisiert um 12:19 Uhr
Hallo yakazaa!

Wenn es für jede Buchstabenkombination die entsprechende Gruppe gibt, könntest Du das so machen:
01.
for /f "tokens=1-2 delims=-" %%i in ("%NAME%") do set "Text=%%i" & set /a Zahl=%%j 
02.
goto %Text%-GRUPPE
- ansonsten eben weiterhin per
if "%Text%"=="ABC" goto ABC-GRUPPE
abfragen ...

Weitere Möglichkeit, nur an die ersten 3 Stellen zu kommen:
set "Text=%NAME:~0,3%"
Grüße
bastla
Bitte warten ..
Mitglied: yakazaa
20.08.2012 um 13:03 Uhr
Aaach, die lösung mit der FOR Schleife sieht doch schon wunderbar aus !
Vielen Dank !!

Sehe ich das richtig so, dass er einfach nur nach dem Minus als Trennzeichen sucht, sprich das Ganze unabhängig von der Anzahl der Buchstaben ist ?

Es geht mir jetzt darum auch A-12, CS-13, GHIJK-55 abbilden zu können.

Das ist auch der Grund wieso mir die letzte Lösung nicht ganz so gut gefällt..
Bitte warten ..
Mitglied: bastla
20.08.2012 um 14:23 Uhr
Hallo yakazaa!
Das ist auch der Grund wieso mir die letzte Lösung nicht ganz so gut gefällt..
Da Deine Beispiele alle 3 Buchstaben am Anfang haben, wollte ich noch eine Alternative anbieten - erste Wahl war diese Variante allerdings auch bei mir nicht ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst New-ADUser (optional Parameter) (13)

Frage von mc-doubleyou zum Thema Batch & Shell ...

Windows Update
Package Publisher - Copy has failed falscher Parameter

Frage von Belloci zum Thema Windows Update ...

Python
gelöst PHP Skript via Python starten mit JSON Objekt als Parameter (3)

Frage von nullacht15 zum Thema Python ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

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

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...