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

Ausgedruckt am: 25.04.2024 um 08:04 Uhr

Mitglied: Biber
Biber 07.12.2005 um 19:54:59 Uhr
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
Mitglied: JK87
JK87 07.12.2005 um 20:02:13 Uhr
Goto Top
Ja, klar!

sry, hab zu komplex gedacht

thx

JK