| 

.NET C# Java Javascript Exception

2
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?
News:
16.02.2011
DerPunk 1,2k 1 7
2 Antworten
1
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.
16.02.2011
Torsten Weber 691 1 8
1
Der Befehl set Pfad=%Pfad:\=\% ersetzt alle \ mit \ in der Variable Pfad

set Pfad='C:\test\test\test'
echo %Pfad%
set Pfad=%Pfad:\=\%
echo %Pfad%
16.02.2011
woni 170 1 4
Erster ;-)
Torsten Weber 16.02.2011
Aber nur ganz knapp :D
woni 16.02.2011

Stelle deine Registry-Frage jetzt!