Даже если функция энергосбережения в Windows настроена так, чтобы никогда не выключать мой жесткий диск, мои внешние жесткие диски USB будут автоматически отключаться после некоторого периода бездействия. Проблема в том, что они будут вращаться в случайном порядке во время простоя компьютера или во время просмотра фильма / прослушивания музыки; это действительно очень раздражает (не только из-за шума, который он издает, но и потому, что он без нужды напрягает диск каждый раз, когда делает это, что более десятка раз в день, и это меня беспокоит). Я натолкнулся на старую бесплатную утилиту, которую можно использовать для очень эффективного решения этой проблемы с дисками SATA / eSATA. Это называется revoSleep. В документации этой утилиты рассказывается, как перевести диск в автономный режим, раскрутить его, а затем отключить драйвер устройства.
Это вдохновило меня на поиск аналогичного решения для USB-накопителей, но до сих пор я не смог найти программную утилиту, которая бы работала без проблем. Используя diskpart, я могу отключить USB-диск. Затем, используя бесплатную утилиту HDDScan для Windows (похожую на «hdparm»), я могу раскрутить диск и даже сделать это из пакетного файла. Ницца.
Последний шаг - отключение драйвера устройства на диске из одного пакетного файла вместо использования диспетчера устройств. Используя другую бесплатную утилиту под названием DevCon, я быстро смог определить правильный драйвер устройства. Оказывается, старая версия DevCon (с 2003 года) не может отключать драйверы устройств в Windows 7 или 8. В итоге я скачал Driver Developmet Kit (DDK) 7.1.0 из центра загрузки Microsoft, чтобы получить работающую версию. Как только это было решено, наконец, я смог отключить драйвер устройства моего жесткого диска USB. Теперь вот мой вопрос. Ват лучший, самый надежный способ автоматизировать эти шаги в пакетном файле (или в сценарии WSH или в любом другом месте), чтобы пакетный файл / сценарий случайно не выбрал неправильный диск для какой-либо из команд, которые он будет выполнять?
Кстати, я наткнулся на этот пост, но в примере кода используются только первые 11 символов метки тома, чтобы найти номер раздела. Вместо этого я хочу, чтобы он использовал (если возможно) уникальный серийный номер жесткого диска, чтобы найти номер диска, чтобы иметь возможность перевести правильный диск в автономный режим.