Ich will per Batch einen Registryeintrag machen, und dabei den Pfad der Batchdatei mit eintragen...
echo Windows Registry Editor Version 5.00 >> temp.reg echo [HKEY_CURRENT_USER\Software\Test] >> temp.reg set Pfad="Path"="%CD%\Test echo %Pfad% echo "Path"="%CD%\Test" >> temp.reg
pause
regedit /s temp.reg del temp.reg
Prinzipiell funktioniert das ganze auch schon... das Problem ist der Pfad... In der Registry muss der Pfad ja mit 2x "\" angegeben werden... Der batch Pfad (%CD%) wir nur mit 1x "\" ausgegeben... was kann man da machen?
Du kannst "String Substitution" verwenden. (Es wundert mich gerade, dass es mit dem Backslash überhaupt funktioniert, hehe.)
Ich verwende im Code "XXX" an den stellen wo eigentlich zwei Backslashes hin sollen. Diese werden aber von codekicker zu einem Backslash gefiltert. Also einfach die XXX entsprechend ersetzen.
@echo off set AktPfad=%CD:\=XXX% set Pfad="Path"="%AktPfad%XXXTest" echo %Pfad%
Letztendlich wird beim Setzen von AktPfad auf %CD% jeder einzelne Blackslash durch zwei ersetzt.