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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 336049
Url: https://administrator.de/contentid/336049
Printed on: April 24, 2024 at 04:04 o'clock
4 Comments
Latest comment
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
)