简体   繁体   English

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

[英]Edit multitype keys in Windows registry from batch

Task - set default display resoltuion for all "Displays". 任务-为所有“显示”设置默认显示分辨率。

But - in registry is three of them: 但是-在注册表中有三个:

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{F92BFB9B-59E9-4B65-8AA3-D004C26BA193}\0000

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{2D5BA881-99A8-4757-A06E-CB5493B97A39}\0000

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{0F8D6C53-C039-4908-839F-1494115035F7}\0000

Need to edit entry in 0000 , but how it can be done from batch script? 需要在0000编辑条目,但是如何从批处理脚本中完成呢?

If add * symbol - it's create new key. 如果添加*符号-它正在创建新密钥。

Here is script content: 这是脚本内容:

C:\Users\user\Documents>type reg.bat
REGEDIT4

; @ECHO OFF
; CLS
; REGEDIT.EXE /S "%~f0"
; EXIT

[HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{*}\000]
"TestVal"="TestVal"

So - result is: 所以-结果是:

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{*}\000

What is correct way to do it? 正确的方法是什么?

This will enumerate all the keys under VIDEO and then add the Value and Data to each 0000 key. 这将枚举VIDEO下的所有键,然后将Value和Data添加到每个0000键。

for /f "delims=" %%A in ('reg query "HKCC\System\CurrentControlSet\Control\VIDEO"') do reg add "%%~A\0000" /v TestVal /t REG_SZ /d "TestVal" /f

See the help text for details about each command. 有关每个命令的详细信息,请参见帮助文本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM