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
Estou tentando capturar um GUID
específico do registro que é exclusivo (naturalmente) e que muda de tempos em tempos. Em seguida, transforme-o em uma variável que eu possa usar na operação REG ADD
(eu sei essa parte).
A chave é HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
A subchave Video
contém 8-10 GUID-s como nomes de subchave. O que é exclusivo sobre o nome da subchave que desejo capturar é que ele contém mais subpastas, como 0002, 0003 e assim por diante (outras subchaves contêm apenas até 0001).
Na verdade, eu consegui capturar esse GUID procurando por subchaves com 0005 nele. Naturalmente este foi o único jogo. Eu usei o seguinte comando: REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Video /s /f 0005 /k
que está me dando:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{E7DC82FD-9088-411B-9B0A-2FED7F034E03}HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{E7DC82FD-9088-411B-9B0A-2FED7F034E03}%pre%05
End of search: 1 match(es) found.
05
End of search: 1 match(es) found.
Agora, se eu pudesse extrair apenas a parte {E7DC82FD-9088-411B-9B0A-2FED7F034E03}
e transformá-la em variável.
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
Tags windows-registry guid