2012-12-10 29 views
32

Próbuję uruchomić ten kod reg w cmd (plik bat), ale nie mogłem go uruchomić. Gdzie robię źle?Uruchom polecenie reg w cmd (plik bat)?

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

Działa jeśli robię to plik reg i kliknij dwukrotnie.

kod pliku BAT (to nie działa, nie ma błędów):

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

Czy go drukowanie jakichkolwiek błędów? Dodaj 'pause' jako ostatnią linię pliku bat. –

Odpowiedz

42

Będziesz prawdopodobnie uzyskać UAC podczas importowania pliku reg. Jeśli to zaakceptujesz, masz więcej praw.

Ponieważ piszesz do klucza "policy", musisz mieć podwyższone prawa. Ta część rejestru jest chroniona, ponieważ zawiera ustawienia zarządzane przez administratora systemu.

Alternatywnie możesz spróbować uruchomić regedit.exe z wiersza poleceń.

regedit.exe /S yourfile.reg 

.. powinien cicho zaimportować plik reg. Zobacz RegEdit Command Line Options Syntax, aby uzyskać więcej opcji wiersza poleceń.

+2

Nie powinno być żadnych problemów z UAC, pisze do HKCU. –

+0

@harry Tak, poprawne. Na przykład ten działa (zmiana homapage) REG DODAJ "HKCU \ SOFTWARE \ MICROSOFT \ INTERNET EXPLORER \ MAIN"/V "STRONA START"/D "http://www.ask.com/"/F – user198989

+1

Mój błąd. Oczywiście klucz Polityki jest szczególnym przypadkiem. –

6

Jeśli pamięć działa poprawnie, polecenie reg add NIE utworzy całej ścieżki do katalogu, jeśli nie istnieje. Oznacza to, że jeśli żaden z kluczy rejestru nadrzędnego nie istnieje, to należy go utworzyć ręcznie jeden po drugim. To naprawdę denerwujące, wiem! Przykład:

@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

Dzięki. Ale mówi "odmowa zgody" – user198989

+4

Jeśli mówi "Odmowa uprawnień", "reg add" musi być uruchamiany jako administrator. Możesz także najpewniej usunąć pierwsze dwa polecenia reg z mojego przykładu, ponieważ powinny one prawie zawsze istnieć. Aby uzyskać pakiet uprawnień do uprawnień administratora, zobacz mój post tutaj: http://stackoverflow.com/a/13869544/891976 –

+3

Na moim komputerze z systemem Windows XP SP3 pomyślnie uruchomiono następujące oprogramowanie: 'reg add hkcu \ software \ aaaaa/ve/t reg_sz'. Żadne z "aaa" nie istniało przed uruchomieniem polecenia i oba zostały stworzone z nim.Tak więc bardziej prawdopodobne jest, że problem z uprawnieniami. –

0

Można też po prostu stworzyć preferencje zasad grupy i mieć go utworzyć klucz reg dla Ciebie. (Bez skryptów zaangażowany)

30

W wierszu poleceń lepiej wykorzystywać REG narzędzie zamiast REGEDIT:

REG IMPORT yourfile.reg 

REG jest przeznaczony do konsoli, a REGEDIT jest w trybie graficznym. To dlatego działa regedit.exe/S yourfile.reg jest złym pomysłem, ponieważ nie zostanie powiadomiony, gdy wystąpi błąd, natomiast REG Narzędzie zapyta:

> 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

To nie jest zła rada, ale nie jest odpowiedzią na to konkretne pytanie. (OP powiedział: "Próbuję użyć reg, dlaczego to nie działa", więc "powinieneś użyć reg zamiast regedit" to non sequitur). Na drugi rzut oka wygląda na to, że odpowiadasz na zaakceptowaną odpowiedź, a nie na pytanie? Prawdopodobnie powinien zostać opublikowany jako komentarz, a nie jako odpowiedź. –

+7

Myślę, że pytanie brzmiało: "Uruchom polecenie reg w cmd (plik bat)?". Ludzie, którzy szukają odpowiedzi na to pytanie, dostaną się tutaj ... Dlatego radzę im na alternatywny sposób importowania rejestru w CMD. Jest zdecydowanie lepszy niż Regedit. –

Powiązane problemy