2012-12-10 22 views
32

Ich versuche, diesen reg-Code in cmd (bat-Datei) auszuführen, aber ich konnte es nicht funktionieren. Wo mache ich falsch?Run reg-Befehl in cmd (bat-Datei)?

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel] 
"HomePage"=dword:00000001 

Es funktioniert, wenn ich es eine reg-Datei machen und doppelklicken.

Bat-Datei Code (dies funktioniert nicht, keine Fehler):

@echo off 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" /V HomePage /T REG_DWORD /F /D 1 
+0

Ist es Fehler ausdrucken? Fügen Sie als letzte Zeile der Fledermausdatei "Pause" hinzu. –

Antwort

42

Sie werden wahrscheinlich eine UAC-Eingabeaufforderung erhalten, wenn die reg-Datei importieren. Wenn Sie das akzeptieren, haben Sie mehr Rechte.

Da Sie auf den Schlüssel "Richtlinien" schreiben, müssen Sie erhöhte Rechte haben. Dieser Teil der Registrierung ist geschützt, da er Einstellungen enthält, die von Ihrem Systemadministrator verwaltet werden.

Alternativ können Sie versuchen, regedit.exe von der Eingabeaufforderung auszuführen.

regedit.exe /S yourfile.reg 

.. sollte die reg-Datei stillschweigend importieren. Weitere Befehlszeilenoptionen finden Sie unter RegEdit Command Line Options Syntax.

+2

Es sollte keine UAC-Probleme geben, schreibt er an HKCU. –

+0

@harry Ja, richtig. Zum Beispiel funktioniert dieser (Homapage Änderung) REG HINZUFÜGEN "HKCU \ SOFTWARE \ MICROSOFT \ INTERNET EXPLORER \ MAIN"/V "STARTSEITE"/D "http://www.ask.com/"/F – user198989

+1

Mein Fehler. Natürlich ist der Schlüssel "Richtlinien" ein Sonderfall. –

6

Wenn der Speicher korrekt funktioniert, erstellt der Befehl reg add NICHT den gesamten Verzeichnispfad, wenn er nicht existiert. Dies bedeutet, dass, wenn einer der übergeordneten Registrierungsschlüssel nicht vorhanden ist, diese manuell einzeln erstellt werden müssen. Es ist wirklich nervig, ich weiß es! Beispiel:

@echo off 
reg add "HKCU\Software\Policies" 
reg add "HKCU\Software\Policies\Microsoft" 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer" 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" /v HomePage /t REG_DWORD /d 1 /f 
pause 
+0

Danke. Aber es heißt "Berechtigung verweigert" – user198989

+4

Wenn es "Erlaubnis verweigert" sagt, dann muss das 'reg add' als Administrator ausgeführt werden. Außerdem können Sie höchstwahrscheinlich die ersten beiden reg add-Anweisungen aus meinem Beispiel entfernen, da sie fast immer existieren sollten. Für eine Batch-Methode zum Erteilen von Administratorrechten siehe meinen Beitrag hier: http://Stackoverflow.com/a/13869544/891976 –

+3

Folgendes wurde erfolgreich auf meinem Windows XP SP3 ausgeführt: 'reg add hkcu \ software \ aaa \ aaa/ve/t reg_sz'. Keines der 'aaa's existierte vor der Ausführung des Befehls und beide wurden damit erstellt.Es ist also wahrscheinlicher ein Erlaubnisproblem. –

0

Sie könnten auch nur eine Gruppenrichtlinieneinstellungen erstellen und den Ausrichtungs-Schlüssel für Sie erstellen. (Kein Scripting beteiligt)

30

In Kommandozeile ist es besser REG-Tool zu verwenden, statt REGEDIT:

REG IMPORT yourfile.reg 

REG für Konsolen-Modus ausgelegt ist, während REGEDIT für den grafischen Modus. Aus diesem Grund regedit.exe Laufen/S yourfile.reg ist eine schlechte Idee, da Sie werden nicht benachrichtigt, wenn der ein Fehler ist, während REG-Tool aufgefordert wird:

> REG IMPORT missing_file.reg 

ERROR: Error opening the file. There may be a disk or file system error. 

> %windir%\System32\reg.exe /? 

REG Operation [Parameter List] 

    Operation [ QUERY | ADD | DELETE | COPY | 
       SAVE | LOAD | UNLOAD | RESTORE | 
       COMPARE | EXPORT | IMPORT | FLAGS ] 

Return Code: (Except for REG COMPARE) 

    0 - Successful 
    1 - Failed 

For help on a specific operation type: 

    REG Operation /? 

Examples: 

    REG QUERY /? 
    REG ADD /? 
    REG DELETE /? 
    REG COPY /? 
    REG SAVE /? 
    REG RESTORE /? 
    REG LOAD /? 
    REG UNLOAD /? 
    REG COMPARE /? 
    REG EXPORT /? 
    REG IMPORT /? 
    REG FLAGS /? 
+1

Das ist kein schlechter Rat, aber es ist keine Antwort auf diese spezielle Frage. (Das OP sagte: "Ich versuche, reg zu benutzen, warum funktioniert das nicht?") "Also solltest du reg anstelle von regedit verwenden" ist kein Zufall. Auf den zweiten Blick sieht es so aus, als würden Sie eher auf die akzeptierte Antwort als auf die Frage antworten? Es sollte dann wohl als Kommentar gepostet werden, nicht als Antwort. –

+7

Ich denke, die Frage war, wie "Reg-Befehl in cmd (Fledermaus-Datei) ausführen?". Leute, die eine Antwort darauf suchen, werden hier herkommen ... Also rate ich ihnen zu einer alternativen Möglichkeit, Registry in CMD zu importieren. Es ist definitiv besser als Regedit. –