Захват 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
Другие вопросы по тегам