Смотрите мой ответ здесь для ссылки на DevCon для Win7.
Используйте devcon find *CDROM*
или devcon listclass CDROM
в командной строке с повышенными привилегиями, чтобы просмотреть список установленных физических и виртуальных оптических дисководов, например:
IDE\CDROMSAMSUNG_DVD-ROM_SD-608__________________2.2_____\4&13B4AFD&0&0.0.0: SAMSUNG DVD-ROM SD-608
SCSI\CDROM&VEN_CONTOSO&PROD_VIRTUAL_DVD-ROM&REV_1.0A\1&2AFD7D61&0&0000: Contoso Virtual DVD-ROM0000
2 matching device(s) found.
Используйте полную возвращенную строку идентификатора устройства или выясните, какая часть строки возвращает только диск, который вы хотите включить / отключить. Например, такая подстрока, как * CDROMSAMSUNG * или * CDROM * 608 * , достаточна для однозначной идентификации физического диска, так что
devcon find *CDROMSAMSUNG*
возвращает:
IDE\CDROMSAMSUNG_DVD-ROM_SD-608__________________2.2_____\4&13B4AFD&0&0.0.0: SAMSUNG DVD-ROM SD-608
1 matching device(s) found.
Остальное легко! Просто используйте devcon disable *CDROMSAMSUNG*
и
devcon enable *CDROMSAMSUNG*
делать то, что вы хотите.
Кроме того, devcon status *CDROMSAMSUNG*
сообщит вам, "работает ли драйвер" или "Устройство отключено".
Изменить: Вы можете создать ToggleCD.bat следующим образом:
devcon status *CDROMSAMSUNG* | find "Driver is running" && devcon disable *CDROMSAMSUNG* && goto :EOF
devcon status *CDROMSAMSUNG* | find "Device is disabled" && devcon enable *CDROMSAMSUNG* && goto :EOF
Убедитесь, что файл devcon.exe находится в каталоге, который находится в вашей переменной PATH (например, скопируйте его в каталог Windows), и, очевидно, замените * CDROMSAMSUNG * фактической строкой, которую вы определили с помощью приведенных выше инструкций.
Чтобы оставить UAC включенным и в то же время обойти запрос на ярлык для командного файла, прочитайте статью « Создание ярлыков режима администратора без приглашений UAC в Windows 7 или Vista» .