fireraizor
Goto Top

Variable aus einem String herauslöschen

Hallo,
ich habe momentan folgendes Problem.
Ich lese aus einer Datei einen String in eine Variable ein, im Code Beispiel habe ich das mal über set gelöst.
Anschließend lese ich aus der Registry einen Wert in eine Variable ein, im Codebeispiel ebenso über set.
Nun möchte ich den Registry Wert überprüfen und schauen, ob der String Wert enthalten ist.

Momentan hätte ich es so gelöst, dass ich diesen Registry Wert nehme und dort einfach den String- Wert herausschneide, aber das funktioniert so leider nicht

set settings=aaa;bbb,ccc
set registry=fff;aaa;bbb,ccc;ddd
CALL set str=~%%registry:~%settings%=%
Kann mir jemand helfen, wie ich das richtig coden muss. Ich habe nirgends was gefunden (oder vielleicht auch falsch gesucht).

Gruß,
fireraizor

Content-Key: 142050

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

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: 77559
77559 04.05.2010 um 10:40:03 Uhr
Goto Top
Hallo fireraizor,
In Zeile 3 fehlt hinten ein %-Zeichen.

Ich sehe mind 2. Möglichkeiten.
Echo %registry%|find /i "%settings%" >NUL 
if errorlevel ....

setlocal EnableDelayedExpansion
set settings=aaa;bbb,ccc
set registry=fff;aaa;bbb,ccc;ddd
if "!registry:~%settings%=!" NEQ "%registry%" (  
  Echo settings in registry
) else (
  Echo settings nicht in registry
)

Gruß
LotPings

Edit: Sorry, meiner Funktastatur geht der Saft aus,die Fehler häufen sich - nicht immer gleich bemerkt
Mitglied: bastla
bastla 04.05.2010 um 10:59:42 Uhr
Goto Top
Hallo fireraizor!

Versuch es so:
CALL set "str=%%registry:%settings%=%%"
Grüße
bastla
Mitglied: fireraizor
fireraizor 04.05.2010 um 11:57:38 Uhr
Goto Top
Hallo,
vielen Dank euch beiden, ihr habt mir super weitergeholfen.

gruß,
fireraizor