Batch - Pfad als Wert in reg add
Ich möchte einem Pfad als Wert in die Registry einfügen. (Hab Windoof XP SP3)
Ich hab nen Programm in ein Batch-skript geschrieben, welches nach einem Pfad fragt
-> set /p speicherort=Ordnerpfad:
und nach einem Passwort.
Das Passwort ist kein Problem. Den Pfad kann man eingeben und alles ist gut.
Der Pfad sieht z.B. so aus C:\programme\abc\
dann wird der Pfad in die Registry geschrieben...
-> reg add %key1% /f /v "logfile" /d %speicherort%
Bis dahin funktionierts, aber wenn man als Pfad z.B. C:\programme\neuer ordner\
nimmt, gehts nicht.
Hab schon 101 mögliichkeiten ausprobiert, aber nichts will funktionieren. Entweder wird der Schlüssel überhaupt nicht eingetragen oder sonst wie...
Fast geschafft hab ich es mit
-> set speicherort=%speicherort%:\=\\% vor dem reg add nur da sind halt " " in dem Wert und es geht nicht... und irgendwas war noch mit 2 Backshlashes aber keine Ahnung.
Ich suche halt nach einer möglichkeit wie ich den Pfad genau in dem Format -> C:\bla\bla bla bla\ <- in die registry schreiben kann.
Ich hab nen Programm in ein Batch-skript geschrieben, welches nach einem Pfad fragt
-> set /p speicherort=Ordnerpfad:
und nach einem Passwort.
Das Passwort ist kein Problem. Den Pfad kann man eingeben und alles ist gut.
Der Pfad sieht z.B. so aus C:\programme\abc\
dann wird der Pfad in die Registry geschrieben...
-> reg add %key1% /f /v "logfile" /d %speicherort%
Bis dahin funktionierts, aber wenn man als Pfad z.B. C:\programme\neuer ordner\
nimmt, gehts nicht.
Hab schon 101 mögliichkeiten ausprobiert, aber nichts will funktionieren. Entweder wird der Schlüssel überhaupt nicht eingetragen oder sonst wie...
Fast geschafft hab ich es mit
-> set speicherort=%speicherort%:\=\\% vor dem reg add nur da sind halt " " in dem Wert und es geht nicht... und irgendwas war noch mit 2 Backshlashes aber keine Ahnung.
Ich suche halt nach einer möglichkeit wie ich den Pfad genau in dem Format -> C:\bla\bla bla bla\ <- in die registry schreiben kann.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116494
Url: https://administrator.de/contentid/116494
Ausgedruckt am: 26.11.2024 um 07:11 Uhr
7 Kommentare
Neuester Kommentar
Lesen bildet.
Hallo monoffel,
also ich habe da keine Probleme, oder habe ich das falsch verstanden?
Gruß
LotPings
also ich habe da keine Probleme, oder habe ich das falsch verstanden?
:: TestRegAdd.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::
echo on
set Key1="HKCU\Software\MyTest"
set speicherort="%USERPROFILE%\Test Leerzeichen"
reg add %Key1% /f /v "logfile" /d %speicherort%
reg Query %Key1% /S
Pause
Gruß
LotPings
Und ich hab schon 1 Million mal gesagt, ihr sollt nicht immer so übertreiben.
Grüße
Biber
Das \" escaped das Anführungszeichen,.
Damit das funktioniert musst du nur den letzten Backslash verdoppeln.
Diese Version tut das für dich:
Gruß
LotPings
Damit das funktioniert musst du nur den letzten Backslash verdoppeln.
Diese Version tut das für dich:
:: TestRegAdd.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::
echo on
set Key1="HKCU\Software\MyTest"
set "speicherort=%USERPROFILE%\Test Leerzeichen\"
if "%speicherort:~-1%"=="\" set "speicherort=%speicherort%\"
reg add %Key1% /f /v "logfile" /d "%speicherort%"
reg Query %Key1% /S
Pause
Gruß
LotPings
Ich hänge mich mal mit rein.
Folgende reg add funktioniert:
Folgendes steht jetzt in der registry bei Daten:
E:\Mein Test\FFMPEG_Video_Muxer.exe "%1" (Zeile 2 vom Code)
Ich hätte aber dort gerne:
"E:\Mein Test\FFMPEG_Video_Muxer.exe" "%1"
Also den Pfad zum Programm auch in ".
Wenn ich den Code so anpasse:
Haut er mir einen Fehler raus. Irgendwo muss bestimmt ein Escape Zeichen gesetzt werden, ich habe jetzt auch zig Möglichkeiten durch.
Folgende reg add funktioniert:
reg add "HKCR\*\Shell\FFMPEG Video Muxer" /v "Icon" /t REG_SZ /d "%~dp0FFMPEG_Video_Muxer.exe,0" /f
reg add "HKCR\*\Shell\FFMPEG Video Muxer\command" /ve /d "%~dp0FFMPEG_Video_Muxer.exe ""%%1""" /f
Folgendes steht jetzt in der registry bei Daten:
E:\Mein Test\FFMPEG_Video_Muxer.exe "%1" (Zeile 2 vom Code)
Ich hätte aber dort gerne:
"E:\Mein Test\FFMPEG_Video_Muxer.exe" "%1"
Also den Pfad zum Programm auch in ".
Wenn ich den Code so anpasse:
reg add "HKCR\*\Shell\FFMPEG Video Muxer\command" /ve /d ""%~dp0FFMPEG_Video_Muxer.exe" ""%%1""" /f
Haut er mir einen Fehler raus. Irgendwo muss bestimmt ein Escape Zeichen gesetzt werden, ich habe jetzt auch zig Möglichkeiten durch.