Variable aus Registrie mit varriabler Länger
Hallo,
ich komme hier nicht weiter. Mit folgendem wird aus der Registrierung eine Variable erstellt.
Ausgabe von BS_BuildLabEx1: 14393.1066.x86fre.rs1_release_sec.170327-1835
Ich benötige aber diese Variable in zwei Variablen:
Ausgabe von BS_Build: 14393
Ausgabe von BS_Patchstand: 1066
Problem: die Werte sind nicht immer gleich lang in der Registrierung. Ich finde leider keinen Weg dafür. Kann ich, und wenn wie, das so machen, dass er die erste Variable mit dem Wert bis zum ersten Punkt erstellt und dann die zweite Variable mit dem Wert zwischen den zwei Punkten? Das Ganze muss möglichst schlank/performant laufen.
ich komme hier nicht weiter. Mit folgendem wird aus der Registrierung eine Variable erstellt.
FOR /f "usebackq tokens=3*" %%a IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx 2^>NUL ^| findstr "BuildLabEx"`) do SET "BS_BuildLabEx1=%%a %%b"
Ausgabe von BS_BuildLabEx1: 14393.1066.x86fre.rs1_release_sec.170327-1835
Ich benötige aber diese Variable in zwei Variablen:
FOR /f "usebackq tokens=3*" %%a IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx 2^>NUL ^| findstr "BuildLabEx"`) do SET "BS_BuildLabEx1=%%a %%b"
SET BS_Build=%BS_BuildLabEx1:~0,5%
SET BS_Patchstand=%BS_BuildLabEx1:~6,4%
Ausgabe von BS_Build: 14393
Ausgabe von BS_Patchstand: 1066
Problem: die Werte sind nicht immer gleich lang in der Registrierung. Ich finde leider keinen Weg dafür. Kann ich, und wenn wie, das so machen, dass er die erste Variable mit dem Wert bis zum ersten Punkt erstellt und dann die zweite Variable mit dem Wert zwischen den zwei Punkten? Das Ganze muss möglichst schlank/performant laufen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 336049
Url: https://administrator.de/forum/variable-aus-registrie-mit-varriabler-laenger-336049.html
Ausgedruckt am: 11.04.2025 um 13:04 Uhr
4 Kommentare
Neuester Kommentar

for /f "tokens=3,4,* delims=. " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v BuildLabEx ^| findstr /i BuildLabEx') do (
set BS_Build=%%a
set BS_Patchstand=%%b
)