Estoy construyendo un script de copia de seguridad para Windows 7, y la última acción que quiero que realice es "quitar" de forma segura la unidad USB a la que está haciendo la copia de seguridad. Tengo la impresión de que enchufar la unidad en el mismo puerto USB todo el tiempo mantendrá el mismo DEV_ID (corrígeme si me equivoco). Con una línea de comando (o PowerShell), ¿cómo puedo decirle a Windows que elimine el hardware de forma segura automáticamente sin la intervención del usuario?
Al igual que un marcador de posición, también sería bueno conocer otros sistemas operativos que pueden tener una manera de hacerlo.
windows
command-line
batch-file
El canadiense Luke REINSTATE MONICA
fuente
fuente
Respuestas:
RemoveDrive me ha servido bien en el pasado
fuente
Además del RemoveDrive de Uwe Sieber mencionado en la otra respuesta, hay muchas utilidades que pueden lograr esto. Sigue una pequeña lista:
USB Disk Ejector es principalmente una utilidad basada en GUI, pero se puede usar igualmente bien desde la línea de comandos para expulsar la unidad desde la que se ejecuta el programa, o cualquier unidad especificando la letra de la unidad / nombre (parcial) de la unidad / punto de montaje, etc. Gratis y de código abierto.
USB Safely Remove no es gratuito, pero es una utilidad de eliminación de disco con esteroides, con muchas características avanzadas , que incluyen, por supuesto , soporte de línea de comandos . Zentimo es su hermano mayor, con aún más características .
El propio DevCon de Microsoft es la versión de línea de comandos de Device Manager. Además de la versión original de la era Win2K / XP disponible en la página KB, hay versiones más recientes (tanto de 32 como de 64 bits) disponibles de varias fuentes de MS como se menciona en este artículo Dónde encontrar DevCon.exe . DevCon.exe para Windows 7 (y probablemente también Windows 8) se puede encontrar enterrado en el Kit de controladores de Windows (WDK) apropiado , como se menciona en este hilo (que también contiene enlaces de descarga al ejecutable extraído ).
devcon status *
odevcon hwids *
odevcon findall =usb
(para una lista más compacta) debería indicarle la ID de hardware del dispositivo. Por ejemplo:Luego puede intentar eliminar el dispositivo con
devcon remove "USB\VID_0781&PID_7113"
(se permiten comodines como *, ¡pero tenga cuidado o podría terminar eliminando algo completamente diferente!)Alguien preguntó " ¿Hay un comando de DOS (cmd.exe de Win7) para expulsar una memoria USB? " Que desafortunadamente se cerró como un duplicado de este hilo. Sin embargo, la pregunta era sobre la expulsión de unidades USB mientras estaba en la consola de recuperación de Windows / símbolo del sistema de recuperación del sistema , por lo que es poco probable que alguna de las utilidades anteriores ayude. En tal situación, el siguiente método con Diskpart debería funcionar:
Escriba
diskpart
y espere el indicador de diskpart (DISKPART>
)Tipo
list volume
Tenga en cuenta el número de volumen de la unidad USB con cuidado (use las propiedades enumeradas, como la letra de unidad, la etiqueta, el tipo y el tamaño para obtener ayuda)
Tipo
select volume <number>
, donde<number>
está el número de volumen anotado arribaTipo
remove all dismount
Escriba
exit
para salir de DiskpartAhora debería poder extraer de forma segura su unidad USB sin temor a perder datos.
fuente
Diskpart
mientras estaba en modo normal de Windows. Este es el mensaje que recibo después de realizar el paso 5 anterior. "DiskPart eliminó con éxito la letra de la unidad, pero su computadora debe reiniciarse antes de que los cambios surtan efecto. Diskpart desmontó con éxito el volumen". Intenté usarlo en un medio extraíble (tarjeta SD) en lugar de un dispositivo extraíble (como el lector de tarjetas SD o la unidad flash USB). El indicador LED en el lector no se apagó, pero permaneció encendido (es decir, dejó de parpadear como ocasionalmente cuando una tarjeta SD solo se encuentra en él). Entonces supongo que es seguro eliminarlo entonces.remove all dismount
comando debe usar elmountvol
comando. Para obtener más información, consulte la biblioteca de Technet aquí y también aquí . Después de haberlo utilizadomountvol
, debe reiniciar para que los cambios surtan efecto. Alternativamente, también puede usar Administración de discos para asignar una nueva letra de unidad.Para responder a esta pregunta ... No necesitas cosas de terceros.
Ejecute este comando:
RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
para abrir el cuadro de diálogo Quitar hardware con seguridad:fuente
Dado que es un dispositivo de respaldo, significa que es un dispositivo de almacenamiento, por lo tanto, se puede hacer desde PowerShell, solo reemplace X: con la letra de unidad deseada:
fuente
"F:"
o"F:\"
no marcó la diferencia, al igual que ejecutar PowerShell como administrador. La eliminación segura mediante la barra de tareas está funcionando. ¿Qué estoy haciendo mal?$error
, también está vacío. Por cierto, estoy ejecutando PowerShell 5.1 en Win10 Pro. F: \ es un HDD USB externo que solo tiene una partición (F :): se puede quitar de forma segura a través de la barra de tareas sin problemas.Better performance
en su política de eliminación, aunque eso no parece hacer ninguna diferencia (USB pendrive funciona con ambas configuraciones, USB HDD no). A un segundo pendrive que poseo tampoco le gusta que lo expulsen a través del comando PowerShell. Funcionamiento: Transcend JetFlash 700 (16 GB, FAT32), No funciona: Seagate Expansion Portable 2015 (4 TB, NTFS), Sandisk Extreme (32 GB, exFAT). Todos probaron varias veces en el mismo puerto USB. Una vez más, la eliminación segura mediante el icono de la barra de tareas siempre funciona.De acuerdo con este artículo de 7 tutoriales , puede habilitar la desconexión segura configurando "Eliminación rápida". Esto deshabilitará el almacenamiento en caché de escritura por dispositivo , cuyo impacto en el rendimiento es "insignificante"? Sus pasos para Windows 7 están a continuación.
( Editar ) De acuerdo con este artículo de howtogeek , aún debe tener cuidado al configurar "Eliminación rápida". Esto deshabilitará el almacenamiento en caché de escritura y, por lo tanto, evitará la mayoría de los problemas. Pero algunos programas todavía pueden estar escribiendo cosas 'en vivo', hasta que se expulsen / eliminen explícitamente. ( Fin de la edición )
Pasos:
( Editar ) Tenga en cuenta que debe usar el Administrador de dispositivos para cambiar la configuración, no se puede hacer desde el Explorador de archivos. (Al menos en mi edición de Windows 10).
fuente
Seagate BUP Slim BK USB External Drive
).