jk87
Goto Top

Registry-Eintrag übernehmen

Doppelte Backslashs in Pfad entfernen

Habe folgendes Problem,

diese Batch liest den Registry-Eintrag aus, welcher einen Installationspfad enthält, aber der Pfad wird mit \\ (doppelten Backslashs) ausgegeben. Wie bekomme ich diese weg?

Set RegFile=%temp%\%random%.reg
START /W REGEDIT /E %Regfile% "HKEY_CURRENT_USER\Software\JK\ProxyOnOff"  
FOR /F "tokens=1,2 delims==" %%i IN ('Type %RegFile% ^| FIND /I "Last InstPath"') DO SET Last InstPath=%%j  
DEL %RegFile%
SET Last InstPath=%Last InstPath:"=%  
%Last InstPath%

Hat jemand noch eine andere idee wie ich den Programmpfad aus dem Reg-Eintrag ermitteln und speichern kann?

thx

JK

Content-Key: 21167

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

Printed on: April 16, 2024 at 19:04 o'clock

Member: Biber
Biber Dec 07, 2005 at 18:54:59 (UTC)
Goto Top
Moin JK,

a) einfach alle doppelten Backslashes durch einfache ersetzen. Demo vom Prompt aus:
set "testpath=c:\\test\\whatever"
echo %testpath% %testpath:\\=\%
(Output) c:\\test\\whatever c:\test\whatever

---> in Deinem Fall also
DO set LastInstPath=%%j
set LastInstPath=%LastInstPath:\\=\%

...(Thats All)

Aber keine Leerzeichen in Variablennamen! Nicht eine Variable "Last InstPath" nennen. Das geht schief.

b) Wozu eine andere Lösung? Funktioniert doch.
Geht natürlich auch mit VBSkript, JScript, VB, C, Delphi.....

HTH Biber
Member: JK87
JK87 Dec 07, 2005 at 19:02:13 (UTC)
Goto Top
Ja, klar!

sry, hab zu komplex gedacht

thx

JK