Захватите GUID, который является частью имени ключа из реестра, и превратите его в переменную

Захватите GUID, который является частью имени ключа из реестра, и превратите его в переменную

Я пытаюсь захватить определенный GUIDиз реестра, который является уникальным (естественно) и время от времени меняется. Затем превратить его в переменную, которую я могу использовать в REG ADDработе (я знаю эту часть).

Ключ в том,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video

Сам подраздел Videoсодержит 8-10 GUID в качестве имен подразделов. Уникальность имени подраздела, который я хочу захватить, заключается в том, что оно содержит больше подпапок, таких как 0002, 0003 и т. д. (другие подразделы содержат только до 0001).

На самом деле мне удалось захватить этот GUID, выполнив поиск подключей с 0005 в нем. Естественно, это было единственное совпадение. Я использовал следующую команду: 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

Связанный контент