59

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

[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

4 回答 4

80

导入 reg 文件时,您可能会收到 UAC 提示。如果你接受这一点,你就有更多的权利。

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

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

regedit.exe /S yourfile.reg

.. 应该静默导入 reg 文件。有关更多命令行选项,请参阅RegEdit 命令行选项语法

于 2012-12-11T00:13:41.850 回答
69

在命令行中最好使用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 /?
于 2016-01-28T15:17:25.483 回答
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
于 2012-12-13T22:03:16.437 回答
1

您也可以只创建一个组策略首选项并让它为您创建 reg 密钥。(不涉及脚本)

于 2014-10-03T17:25:22.217 回答