从批处理编辑 Windows 注册表中的多类型项



Task - 为所有"显示器"设置默认显示分辨率。

但是 - 在注册表中是其中三个:

HKEY_CURRENT_CONFIGSystemCurrentControlSetControlVIDEO{F92BFB9B-59E9-4B65-8AA3-D004C26BA193}000
HKEY_CURRENT_CONFIGSystemCurrentControlSetControlVIDEO{2D5BA881-99A8-4757-A06E-CB5493B97A39}000
HKEY_CURRENT_CONFIGSystemCurrentControlSetControlVIDEO{0F8D6C53-C039-4908-839F-1494115035F7}000

需要编辑0000中的条目,但是如何从批处理脚本完成呢?

如果添加*符号 - 它是创建新密钥。

以下是脚本内容:

C:UsersuserDocuments>type reg.bat
REGEDIT4
; @ECHO OFF
; CLS
; REGEDIT.EXE /S "%~f0"
; EXIT
[HKEY_CURRENT_CONFIGSystemCurrentControlSetControlVIDEO{*}00]
"TestVal"="TestVal"

所以 - 结果是:

HKEY_CURRENT_CONFIGSystemCurrentControlSetControlVIDEO{*}00

正确的方法是什么?

这将枚举 VIDEO 下的所有键,然后将值和数据添加到每个 0000 键。

for /f "delims=" %%A in ('reg query "HKCCSystemCurrentControlSetControlVIDEO"') do reg add "%%~A000" /v TestVal /t REG_SZ /d "TestVal" /f

有关每个命令的详细信息,请参阅帮助文本。

  • 为/?
  • 注册查询/?
  • 注册添加/?

最新更新