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
A
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"
.
Verwenden Sie es einfach. Das ist alles was du tun musst. –
@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
Sie könnten auch verzögerte Erweiterung verwenden – SomethingDark