qwertz
Goto Top

DOS Umgebungsvariable statt Wert übergeben

Hallo @all,

bei verschiedenen DOS Skripten stosse ich immer wieder auf ein Problem. Ich möchte gerne z.B. per REG-Befehl eine Umgebungsvariable in die Registry schreiben.
Beispiel: REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "MyProg" /t REG_SZ /d "%systemroot%\Prog.exe" /f

Hierbei wird der Eintrag C:\Windows\Prog.exe in die Registry eingetragen. Da das System jedoch nicht bei allen Rechnern C:\Windows ist, möchte ich lieber den Eintrag %systemroot%\Prog.exe in der Registry haben.
Ich weiß, dass ich eine .REG-Datei anlegen kann um die Variable zu importieren. Das ist auch nicht das eigentliche Problem. Vielmehr geht es mir darum, eine Variable als Variable zu übergeben und nicht den Wert.
Das Problem lässt sich auch anders nachvollziehen. Wenn ich auf der Kommandozeile echo %systemroot% eingebe, kommt nach einem Druck auf Enter natürlich C:\Windows als Ergebnis raus. Doch wie bekomme ich den Echo-Befehl dazu mir %systemroot% auszugeben. Ich habe schon echo %%systemroot%% probiert, was aber als Ergebnis %C:\Windows% liefert.

Ich habe leider bisher keine Antwort auf meine Frage gefunden.
Vielleicht könnt ihr mir ja helfen.
Vielen Dank schonmal.

Liebe Grüsse
Falko

Content-ID: 73638

Url: https://administrator.de/contentid/73638

Ausgedruckt am: 08.11.2024 um 15:11 Uhr

qwertz
qwertz 15.11.2007 um 15:43:02 Uhr
Goto Top
Hallo nochmal,

hat sich erledigt.
Man darf natürlich nicht wie ich den Fehler machen und die Eingaben nur auf der Kommandozeile testen. In einer CMD-Datei funktioniert es mit %%systemroot%% natürlich tadellos.

Viele Grüsse
Falko