Capture um GUID que faz parte do nome da chave do registro e transforme-o em variável

Capture um GUID que faz parte do nome da chave do registro e transforme-o em variável

Estou tentando capturar um GUIDregistro específico que seja único (naturalmente) e mude de tempos em tempos. Em seguida, transforme-o em uma variável que eu possa usar na REG ADDoperação (conheço essa parte).

A chave éHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video

A Videoprópria subchave contém de 8 a 10 GUIDs como nomes de subchave. O que há de único no nome da subchave que desejo capturar é que ela contém mais subpastas como 0002, 0003 e assim por diante (outras subchaves contêm apenas até 0001).

Na verdade, consegui capturar esse GUID procurando subchaves com 0005. Naturalmente esta foi a única partida. Usei o seguinte comando: REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Video /s /f 0005 /kque está me dando:

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

Agora, se eu pudesse extrair a {E7DC82FD-9088-411B-9B0A-2FED7F034E03}parte e transformá-la em variável.

Responder1

O comando a seguir obterá o GUID necessário e definirá a variável de ambiente GUID com este valor:

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

informação relacionada