Я создаю сценарий резервного копирования для Windows 7, и последнее действие, которое я хочу выполнить, - это безопасно «извлечь» USB-накопитель, на который он выполняет резервное копирование. У меня сложилось впечатление, что при постоянном подключении накопителя к одному и тому же порту USB будет сохраняться один и тот же DEV_ID (поправьте меня, если я ошибаюсь). С помощью командной строки (или PowerShell), как я могу сказать Windows, чтобы безопасно удалить оборудование автоматически без участия пользователя?
Точно так же было бы полезно знать о других ОС, у которых есть способ сделать это.
windows
command-line
batch-file
Канадский Люк ВОССТАНОВИТЬ МОНИКУ
источник
источник
Ответы:
RemoveDrive хорошо послужил мне в прошлом
источник
Помимо RemoveDrive Уве Зибера, упомянутого в другом ответе, существует целый ряд утилит, которые могут это сделать. Вот небольшой список:
USB Disk Ejector - это, прежде всего, утилита на основе графического интерфейса, но она может использоваться с равной эффективностью из командной строки для извлечения диска, с которого запускается программа, или любого диска, указав букву диска / (частичное) имя диска / точку монтирования и т. Д. Бесплатный и открытый исходный код.
USB Safely Remove не является бесплатной, но это утилита для удаления дисков на стероидах, с множеством расширенных функций , включая, конечно, поддержку командной строки . Zentimo - его старший брат, с еще большим количеством функций .
Microsoft DevCon - это версия диспетчера устройств для командной строки. Помимо исходной версии эпохи Windows 2000 / XP, доступной на странице KB, существуют новые версии (как 32-разрядные, так и 64-разрядные), доступные из различных источников MS, как упомянуто в этой статье « Где найти DevCon.exe» . DevCon.exe для Windows 7 (и, возможно, также для Windows 8) находится в соответствующем наборе драйверов Windows (WDK) , как указано в этой теме (который также содержит ссылки для загрузки извлеченного исполняемого файла ).
devcon status *
илиdevcon hwids *
илиdevcon findall =usb
(для более компактного списка) следует указать аппаратный идентификатор устройства. Например:Затем вы можете попробовать удалить устройство с помощью
devcon remove "USB\VID_0781&PID_7113"
(подстановочные знаки, такие как *, разрешены, но будьте осторожны, иначе вы можете полностью удалить что-то еще!)Кто-то спросил: « Существует ли команда DOS prompt (cmd.exe из Win7) для извлечения флэш-диска? », Которая, к сожалению, была закрыта как дубликат этого потока. Однако вопрос был об извлечении USB-накопителей во время работы в консоли восстановления Windows / командной строке восстановления системы , поэтому вряд ли какая-либо из приведенных выше утилит поможет. В такой ситуации должен работать следующий метод с использованием Diskpart :
Введите
diskpart
и дождитесь приглашения diskpart (DISKPART>
)Тип
list volume
Внимательно запишите номер тома USB-накопителя (для справки используйте перечисленные свойства, такие как буква диска, метка, тип и размер)
Тип
select volume <number>
, где<number>
указан номер тома, указанный вышеТип
remove all dismount
Введите,
exit
чтобы выйти из DiskpartТеперь вы сможете безопасно удалить USB-накопитель, не опасаясь потери данных.
источник
Diskpart
то время как в обычном режиме Windows. Это сообщение я получаю после выполнения шага 5 выше. «DiskPart успешно удалил букву диска, но перед вступлением изменений в силу необходимо перезагрузить компьютер. Diskpart успешно отключил том». Я пытался использовать его на съемном носителе (SD-карте), а не на съемном устройстве (например, устройстве чтения SD-карт или USB-накопителе). Светодиодный индикатор на считывателе не погас, но он продолжал гореть (т.е. он перестал мигать, как это иногда случается, когда SD-карта находится только в нем). Так что я думаю, что это безопасно удалить тогда.remove all dismount
команду , которую вы должны использоватьmountvol
команду. Для получения дополнительной информации см. Библиотеку Technet здесь, а также здесь . После того, как вы использовали,mountvol
вы должны перезагрузиться, чтобы изменения вступили в силу. Кроме того, вы также можете использовать Управление дисками, чтобы назначить новую букву диска.Чтобы ответить на этот вопрос ... Вам не нужны сторонние вещи.
Выполните эту команду:
RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
для вызова диалогового окна «Безопасное извлечение устройства»:источник
Поскольку это устройство резервного копирования, это означает, что это устройство хранения, поэтому это можно сделать из powershell - просто замените X: на желаемую букву диска:
источник
"F:"
или"F:\"
не имеет значения, как и при запуске PowerShell от имени администратора. Безопасное удаление через панель задач работает. Что я делаю неправильно?$error
тоже пусто. Кстати, я использую PowerShell 5.1 на Win10 Pro. F: \ - это внешний USB HDD, имеющий только один раздел (F :) - его можно безопасно удалить с помощью панели задач.Better performance
в своей политике удаления, хотя это, кажется, не имеет никакого значения (USB Pendrive работает с обоими параметрами, USB HDD - нет). Второй pendrive, которым я владею, также не любит, когда его извлекают с помощью команды PowerShell. Работает: Transcend JetFlash 700 (16 ГБ, FAT32), Не работает: Seagate Expansion Portable 2015 (4 ТБ, NTFS), Sandisk Extreme (32 ГБ, exFAT). Все опробовали несколько раз на одном USB-порту. Опять же, безопасное удаление с помощью панели задач-значок всегда работает.Согласно этой статье-учебникам , вы можете включить безопасное отключение, установив «Быстрое удаление». Это отключит кеширование записи для каждого устройства , влияние на производительность которого «незначительно»? Их шаги для Windows 7 ниже.
( Правка ) Согласно этой статье , вы должны быть осторожны при установке «Быстрое удаление». Это отключит кэширование записи и, таким образом, предотвратит большинство проблем. Но некоторые программы могут по-прежнему писать материал «вживую», пока он не будет извлечен / удален. ( Конец редактирования )
шаги:
( Изменить ) Обратите внимание, что вам нужно использовать диспетчер устройств, чтобы изменить настройки, это не может быть сделано из проводника. (По крайней мере, в моем выпуске Windows 10.)
источник
Seagate BUP Slim BK USB External Drive
).