如何通过批处理文件使用十六进制值添加到Internet设置?

时间:2011-06-07 14:01:51

标签: internet-explorer batch-file registry hex

我正在编写一个批处理文件来自定义Internet Explorer的Internet属性 - >安全区通过注册表。我的代码目前改变了模板策略 “HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ TemplatePolicies \ LOW”和“../MEDIUM”,然后启动inetcpl.cpl,然后用户必须在可信站点区域中手动将滑块移动到低位然后在互联网区中。

这可以通过分别更改“HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 2”和“../3”中的值CurrentLevel来实现。我的代码由于某种原因在注册表项“CurrentLevel”中写入零。我需要将“HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 2 \ CurrentLevel”设置为0x00010000。

以下是我的代码中出现错误的部分:

echo Moving sliders...
echo.
set qry="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2"
reg add %qry% /v CurrentLevel /t REG_DWORD /d 65536 /f
set qry="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3"
reg add %qry% /v CurrentLevel /t REG_DWORD /d 69632 /f

从十六进制到十进制转换器'65536'='0x00010000'和'69632'='0x00011000'。为什么我的代码将零写入CurrentLevel?

可以找到可能有用的文档HERE

谢谢!!!

1 个答案:

答案 0 :(得分:0)

您无需转换为十进制。

命令行接受Hex。有关示例,请参阅reg add /?

reg add %qry% /v CurrentLevel /t REG_DWORD /d 00010000 /f

/ d标志要求您在8字符十六进制值前加上0x。例如:/ d 0x00010000。