我正在尝试在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
答案 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)
您也可以创建组策略首选项并让它为您创建注册表项。 (不涉及脚本)