2016-07-26 28 views
0

Ich möchte in der Lage sein, den Wert einer REG_EXPAND_SZ mit reg query <KEY> /v <VALUE> abgerufen zu erweitern. Wie erweitern Sie eine Umgebungsvariable, die Umgebungsvariablen enthält (umgeben von %)? Zum Beispiel möchte ich %systemroot%\system32\config, enthalten in x zu C:\Windows\system32\config erweitern.Wie erweitern Sie eine REG_EXPAND_SZ in einer Batchdatei?

+0

Verwenden Sie es einfach. Das ist alles was du tun musst. –

+0

@Noodles Das stimmt nicht. Wenn zum Beispiel die Umgebungsvariable 'x''% UserProfile% \ Documents' ist, wobei 'echo '% x%'' zu '% UserProfile% \ Documents' führt, können Sie 'dir"% x% "nicht verwenden. 'oder ähnliche Operationen. Die Zeichenfolge enthält ein Literal-Prozentzeichen und wird normalerweise nicht speziell als Umgebungsvariable behandelt, auch wenn dies gewünscht ist. – Kupiakos

+0

Sie könnten auch verzögerte Erweiterung verwenden – SomethingDark

Antwort

0

Verwenden Sie call set.

:: This code is for a batch file, as expansion works differently. 
set x=%%systemroot%%\system32\config 
:: '%x%' is now '%systemroot%\system32\config' 
call set "y=%x%" 

call wird parse its code block twice, so wird call set "y=%x%" zuerst set "y=%systemroot%\system32\config", erweitern und dann, wenn der Satz genannt wird, es erweitert wird (auf meinem System) zu set "y=C:\Windows\system32\config".