yakazaa
Goto Top

Variabel einen Parameter abfragen

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 face-sad

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

Content-ID: 189852

Url: https://administrator.de/contentid/189852

Ausgedruckt am: 21.11.2024 um 23:11 Uhr

bastla
bastla 20.08.2012 aktualisiert um 12:19:18 Uhr
Goto Top
Hallo yakazaa!

Wenn es für jede Buchstabenkombination die entsprechende Gruppe gibt, könntest Du das so machen:
for /f "tokens=1-2 delims=-" %%i in ("%NAME%") do set "Text=%%i" & set /a Zahl=%%j  
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
yakazaa
yakazaa 20.08.2012 um 13:03:51 Uhr
Goto Top
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.. face-smile
bastla
bastla 20.08.2012 um 14:23:06 Uhr
Goto Top
Hallo yakazaa!
Das ist auch der Grund wieso mir die letzte Lösung nicht ganz so gut gefällt.. face-wink
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