Wie verwende ich REG_EXPAND_SZ von der Kommandozeile aus?

Ich habe die Windows-Befehlszeilendokumentation (Win + F1) zu den Befehlen gelesen, mit denen die Windows-Registrierung geändert wird, insbesondere zum Befehl "reg add".

reg add HKCU\testfolder /t REG_EXPAND_SZ /v Stokrotka /d "%systemroot%\system32"

Now, ich weiß nicht, wie das funktionieren soll. Wenn ich den obigen Befehl aufrufe, wird die Variable%systemroot% wird erweitert zuC:\Windows. Ich habe Folgendes versucht, um die Variable nicht zu erweitern, aber auf keinen Fall kann ich sie zwingen, es nicht zu tun:

escaping die `%%` 's mit einem `%, ^, \` - funktioniert nicht, auch wenn ich doppelte Anführungszeichen um @ verwen unter Verwendung der einfachen Anführungszeichen '' um den gesamten / d-Stringuse `setlocal setdelayedexpansion`? etw wie:

# (setlocal enabledelayedexpansion) && (reg add HKCU\testfolder /t REG_EXPAND_SZ /v Stokrotka /d "!systemroot!\system32") && (setlocal disabledelayedexpansion)

Das Feld der Variablen 'data' (/ d) ist entweder wie^%systemroot^% oder wie!systemroot! oder wird einfach zu C: \ windows erweitert. Ich könnte wahrscheinlich die .reg-Datei verwenden, um meine Aufgabe zu erledigen, aber ich möchte es einfach nicht tun.
Ich dachte, dass vielleicht etwas mit dem Programm nicht stimmt, mit dem ich die variablen Inhalte anzeige regedit / regedt32 / reg query (commandline)), aber nach Überprüfung ist dies wahrscheinlich nicht der Fall.
Irgendwelche Ideen? Mich interessiert vor allem, wie der Variablenwert im Regedit-Fenster aussehen soll, sollte er so aussehen:"%systemroot%\system32" oder"C:\windows\system32", um von anderen Programmen ordnungsgemäß erweitert zu werden. Grüße

Antworten auf die Frage(18)

Ihre Antwort auf die Frage