Erfassen Sie eine GUID, die Teil des Schlüsselnamens aus der Registrierung ist, und wandeln Sie sie in eine Variable um

Erfassen Sie eine GUID, die Teil des Schlüsselnamens aus der Registrierung ist, und wandeln Sie sie in eine Variable um

Ich versuche, ein bestimmtes Element aus der Registrierung zu erfassen GUID, das eindeutig ist (natürlich) und sich von Zeit zu Zeit ändert. Dann verwandle ich es in eine Variable, die ich im Betrieb verwenden kann REG ADD(diesen Teil kenne ich).

Der Schlüssel istHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video

Der VideoUnterschlüssel selbst enthält 8-10 GUIDs als Unterschlüsselnamen. Das Besondere am Namen des Unterschlüssels, den ich erfassen möchte, ist, dass er weitere Unterordner wie 0002, 0003 usw. enthält (andere Unterschlüssel enthalten nur bis zu 0001).

Tatsächlich konnte ich diese GUID erfassen, indem ich nach Unterschlüsseln mit 0005 darin suchte. Natürlich war dies die einzige Übereinstimmung. Ich habe den folgenden Befehl verwendet: REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Video /s /f 0005 /kwas mir Folgendes gibt:

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

Wenn ich jetzt nur den {E7DC82FD-9088-411B-9B0A-2FED7F034E03}Teil extrahieren und in eine Variable umwandeln könnte.

Antwort1

Der folgende Befehl ruft die erforderliche GUID ab und setzt die GUID-Umgebungsvariable auf diesen Wert:

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

verwandte Informationen