在cmd(bat文件)中运行reg命令?

时间:2012-12-10 21:49:22

标签: windows batch-file registry cmd

我正在尝试在cmd(bat文件)中运行此注册代码,但我无法使其工作。我在哪里做错了?

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

如果我将其设为reg文件并双击,则可以正常工作。

Bat文件代码(这不起作用,没有错误):

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

4 个答案:

答案 0 :(得分:60)

导入reg文件时,您可能会收到UAC提示。如果您接受,那么您拥有更多权利。

由于您正在写入“政策”键,因此您需要拥有提升的权限。此部分注册表受到保护,因为它包含由系统管理员管理的设置。

或者,您可以尝试从命令提示符运行regedit.exe

regedit.exe /S yourfile.reg

..应该默默导入reg文件。有关更多命令行选项,请参阅RegEdit Command Line Options Syntax

答案 1 :(得分:45)

在命令行中最好使用 REG 工具而不是REGEDIT:

REG IMPORT yourfile.reg

REG专为控制台模式而设计,而REGEDIT则用于图形模式。 这就是运行 regedit.exe / S yourfile.reg 的一个坏主意,因为如果出现错误将不会收到通知,而REG工具会提示:

>  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 /?

答案 2 :(得分:8)

如果内存服务正确,reg add命令将不会创建整个目录路径(如果它不存在)。这意味着如果任何父注册表项不存在,则必须逐个手动创建它们。我知道这真烦人! 示例:

@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

答案 3 :(得分:0)

您也可以创建组策略首选项并让它为您创建注册表项。 (不涉及脚本)