2016-08-05 29 views
0

Mein reg:Put Wert in Registrierung mit REGEN oder .bat oder vbs mit REG_EXPAND_SZ Typ

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\cultest] 
@="URL:cultest Protocol" 
"URL Protocol"="" 

[HKEY_CLASSES_ROOT\cultest\DefaultIcon] 
@="%APPDATA%\\musicDownloader\\test.bat,0" 

[HKEY_CLASSES_ROOT\cultest\shell] 

[HKEY_CLASSES_ROOT\cultest\shell\open] 

[HKEY_CLASSES_ROOT\cultest\shell\open\command] 
@="%APPDATA%\\musicDownloader\\test.bat \"%1\"" 

Diese REGEN Schaffung Schlüssel aber mein Problem ist, dass ich% APPDATA% verwenden wollen, und ich kann‘ t mach es mit REG_SZ. Es ist möglich, mit REG_EXPAND_SZ zu verwenden, aber ich weiß nicht, wie ich es ändern soll.

Antwort

0

Sie können die folgenden in eine .bat Datei setzen:

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "SomeValue" /t REG_EXPAND_SZ /d "%SomeVariable%" 

So Sie zum Beispiel, könnten Sie wahrscheinlich verwenden:

reg add "HKEY_CLASSES_ROOT\cultest\shell\open\command" /v "musicDownloader" /t REG_EXPAND_SZ /d "%APPDATA%\\musicDownloader\\test.bat \"%1\"" 

Die obige ungetestet ist, sollte aber eine Vorstellung davon geben, wie um reg-Werte für eine .bat-Datei hinzuzufügen.

+0

Schön! Ich habe es geändert in: reg.exe hinzufügen HKEY_CLASSES_ROOT \ cultest \ shell \ öffnen \ command/ve/t REG_EXPAND_SZ/d "% APPDATA% \ MusikDownloader \ test.bat \"% 1 \ "" Und es funktioniert, aber es ist ein Problem. reg.exe ändert automatisch% appdata% in den Hard-Pfad des appdata-Ordners. Wie vermeide ich das? – Yas

+0

Sie können %% APDATA %% anstelle von% APPDATA% verwenden. Dies scheint nicht innerhalb der Shell zu funktionieren, funktioniert jedoch innerhalb einer .bat-Datei. Bitte akzeptieren Sie die Antwort, wenn es für Sie funktioniert;) – somelement

0

Von Ihrem Kommentar zu der anderen Antwort nehme ich an, dass Sie tatsächlich die literale Zeichenfolge "% APPDATA%" in den Registrierungsschlüssel einfügen möchten, anstatt% APPDATA% auf seinen tatsächlichen Wert zu setzen.

Dies kann erreicht werden, indem die Sonderzeichen, d. H. Die%, in der Stapelverarbeitungsdatei entfernt werden. Sie ersetzen einfach alle % durch %%.

Ich muss zugeben, ich habe noch nie jemanden so einen Registrierungsschlüssel verwenden. Sie sind normalerweise der tatsächliche Pfad, den Sie verwenden möchten. Wenn dieser Registrierungsschlüssel für Ihr eigenes Programm gedacht ist, können Sie natürlich gerne weitermachen und tun, was Sie wollen, wenn Sie die Schlüssel lesen/schreiben. Aber wenn Sie versuchen, das Programm eines anderen zu benutzen, würde ich in Frage stellen, ob das, was Sie zu tun versuchen, tatsächlich das ist, was Sie vorhaben. Wenn Sie beispielsweise% APPDATA% basierend auf dem Benutzer des Computers unterschiedlich auflösen möchten, können Sie diese Registrierungsschlüssel in den Bereich HKEY_CURRENT_USER einfügen, und dann kann jeder Benutzer seinen eigenen Wert dafür haben.