Umgebungsvaribale per batch editieren
Hallo,
ich habe folgendes problem. Ich muss per batch eine Umgebungsvariable teilweise anpassen.
Sie hat solch ein Format:
xyz=1.3.12.2.1107.5.55.6.9999
Es muss nur der Teil 55.6 mit 12.34 ersetzt werden. Der Rest muss so bleiben. Der Teil 9999 kann auch länger ausfallen, z.B. "999999". Man könnte wohl am besten von hinten aus vor dem letzten Punkt aus gucken und ab dort die Änderungen vollziehen.
Ergebnis:
xyz=1.3.12.2.1107.5.12.34.9999
Damit stoße ich leider an meine Grenzen. hat jemand eine Idee?
ich habe folgendes problem. Ich muss per batch eine Umgebungsvariable teilweise anpassen.
Sie hat solch ein Format:
xyz=1.3.12.2.1107.5.55.6.9999
Es muss nur der Teil 55.6 mit 12.34 ersetzt werden. Der Rest muss so bleiben. Der Teil 9999 kann auch länger ausfallen, z.B. "999999". Man könnte wohl am besten von hinten aus vor dem letzten Punkt aus gucken und ab dort die Änderungen vollziehen.
Ergebnis:
xyz=1.3.12.2.1107.5.12.34.9999
Damit stoße ich leider an meine Grenzen. hat jemand eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 163119
Url: https://administrator.de/contentid/163119
Ausgedruckt am: 16.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
@Skyemugen
Um auch das Restrisiko, dass zB "55" als Teilstring von "155" erkannt wird, auszuschalten:
Da damit noch immer nicht sicher gestellt ist, dass auch an der richtigen Position ersetzt wird, könnte (den immer gleichen Aufbau aus 9 durch Punkte getrrennten Zahlen voraussetzend) die Alternative (mäßig elegant ) so aussehen:
Grüße
bastla
Um auch das Restrisiko, dass zB "55" als Teilstring von "155" erkannt wird, auszuschalten:
set "xyz=%xyz:.55.6.=.12.34.%"
for /f "tokens=1-9 delims=." %%a in ("%xyz%") do if "%%g"=="55" if "%%h"=="6" set "xyz=%%a.%%b.%%c.%%d.%%e.%%f.12.34.%%i"
bastla
Aloha bastla!
Hm, ich ging jetzt einfachmal davon aus, dass sein dargestelltes Format der Realität entspricht ;) aber indeed: sicher ist sicher.
Die FOR-Schleife hatte ich auch erst im Sinn aber irgendwie wollte mir das "xyz=%%a.%%b.%%c.%%d.%%e.%%f.12.34.%%i" nicht so recht in den Sinn kommen war mal wieder zu fixiert, wollte nur tokens=7-8 nutzen *pfeif* *gg* war halt kurz vor der Mittagspause *^__^*
greetz André
Hm, ich ging jetzt einfachmal davon aus, dass sein dargestelltes Format der Realität entspricht ;) aber indeed: sicher ist sicher.
Die FOR-Schleife hatte ich auch erst im Sinn aber irgendwie wollte mir das "xyz=%%a.%%b.%%c.%%d.%%e.%%f.12.34.%%i" nicht so recht in den Sinn kommen war mal wieder zu fixiert, wollte nur tokens=7-8 nutzen *pfeif* *gg* war halt kurz vor der Mittagspause *^__^*
greetz André