2016-06-21 3 views
2

Ich habe Schwierigkeiten, den Wert eines Registrierungsschlüssels in eine Variable zu lesen. Der Registrierungswert enthält Leerzeichen. In diesem Fall versuche ich Firefox Version zu installieren.Lesen eines Registrierungswerts in einer Stapelvariablen, wobei Leerzeichen im Datenwert behandelt werden

C:\Users\ronak>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox ESR" /v CurrentVersion 

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox ESR 
    CurrentVersion REG_SZ 45.2.0 ESR (x86 en-GB) 

Der Schlüsselname, Schlüsseltyp und Schlüsselwert werden durch eine Reihe von Räumen

Für welche getrennt ich erhalte ich die aus

setzen

For /f "tokens=3 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox ESR" /v CurrentVersion') Do Set FFversion=%%a 
Echo %FFversion% 

folgende Skript schrieb

45.2.0 

Wie erfassen ich den gesamten Wert der Registrierung Ie 45.2.0 ESR (x86 en-GB) und nicht 45.2.0

Grüße, Ronak.

+0

'Tokens = 3 *' ist, wie –

Antwort

1

Sie diesen Code versuchen:

@echo off 
FOR /F "tokens=3*" %%a IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox" /v CurrentVersion') DO (
    set FFversion=%%a %%b 
) 
ECHO %FFversion% 
pause 

Ich habe als Ergebnis:

47.0 (x86 fr) 
1

Sie müssen nur die Ergebnisse analysieren.

FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox" /v CurrentVersion`) DO (
    set appver=%%A %%B 
    ) 
ECHO %appver% 

Returns

47.0 (x86 en-GB) 
Verwandte Themen