레지스트리에서 키 이름의 일부인 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

관련 정보