从注册表中捕获键名称的一部分的 GUID,并将其转换为变量

从注册表中捕获键名称的一部分的 GUID,并将其转换为变量

我尝试GUID从注册表中捕获一个特定的值,该值是独一无二的(自然的)并且会不时发生变化。然后将其转换为可以在REG ADD操作中使用的变量(我知道那部分)。

关键是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video

子项Video本身包含 8-10 个 GUID 作为子项名称。我要捕获的子项名称的独特之处在于它包含更多子文件夹,如 0002、0003 等(其他子项最多只包含 0001)。

事实上,我能够通过搜索包含 0005 的子键来捕获此 GUID。当然,这是唯一匹配的。我使用了以下命令:REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Video /s /f 0005 /k它给了我:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{E7DC82FD-9088-411B-9B0A-2FED7F034E03}\0005
End of search: 1 match(es) found.

现在,如果我只能提取该{E7DC82FD-9088-411B-9B0A-2FED7F034E03}部分并将其转换为变量。

答案1

以下命令将获取所需的 GUID 并将 GUID 环境变量设置为该值:

for /f "usebackq tokens=6 delims=\" %a in (`reg query HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video /s /f 0005 /k`) do set GUID=%a

相关内容