Je suis en train de construire un script de sauvegarde pour Windows 7, et la dernière action que je souhaite effectuer consiste à "supprimer" en toute sécurité le lecteur USB sur lequel il est en train de sauvegarder. J'ai l'impression que le fait de brancher le lecteur sur le même port USB tout le temps conservera le même DEV_ID (corrigez-moi si je me trompe). Avec une ligne de commande (ou PowerShell), comment puis-je dire à Windows de supprimer automatiquement le matériel en toute sécurité, sans intervention de l'utilisateur?
En tant que titulaire de réservation, il serait bon de connaître d’autres systèmes d’exploitation pouvant le faire.
windows
command-line
batch-file
Canadien Luke REINSTATE MONICA
la source
la source
Réponses:
RemoveDrive m'a bien servi par le passé
la source
Outre RemoveDrive de Uwe Sieber mentionné dans l’autre réponse, de nombreux utilitaires peuvent le faire. Une petite liste suit:
USB Disk Ejector est principalement un utilitaire basé sur une interface graphique, mais peut également être utilisé à partir de la ligne de commande pour éjecter le lecteur à partir duquel le programme est exécuté, ou de tout lecteur en spécifiant la lettre de lecteur / nom (partiel) du lecteur / point de montage, etc. Source libre et ouverte.
USB Safely Remove n’est pas gratuit, mais c’est un utilitaire de suppression de disque sous steroids, doté de nombreuses fonctionnalités avancées , dont bien sûr une prise en charge en ligne de commande . Zentimo est son grand frère, avec encore plus de fonctionnalités .
La propre DevCon de Microsoft est la version en ligne de commande de Device Manager. Outre la version d'origine de Win2K / XP disponible sur la page de la Base de connaissances , il existe des versions plus récentes (32 et 64 bits) disponibles auprès de diverses sources MS, comme indiqué dans cet article Où trouver DevCon.exe . DevCon.exe pour Windows 7 (et probablement aussi pour Windows 8) peut être trouvé enterré dans le kit de pilotes Windows (WDK) approprié , comme indiqué dans ce fil (qui contient également des liens de téléchargement vers l' exécutable extrait ).
devcon status *
oudevcon hwids *
oudevcon findall =usb
(pour une liste plus compacte) devrait vous indiquer l'ID matériel du périphérique. Par exemple:Vous pouvez ensuite essayer de supprimer le périphérique avec
devcon remove "USB\VID_0781&PID_7113"
(les caractères génériques tels que * sont autorisés, mais soyez prudent, sinon vous pourriez supprimer quelque chose d'autre!)Quelqu'un a demandé " Existe-t-il une commande d'invite DOS (cmd.exe à partir de Win7) pour éjecter une clé USB? ", Qui a malheureusement été fermée en tant que duplicata de ce fil. Cependant, la question concernait l’éjection de lecteurs USB lors de l’ invite de commande de la console de récupération Windows / Récupération système . Il est donc peu probable que l’un des utilitaires ci-dessus vous aide. Dans une telle situation, la méthode suivante utilisant Diskpart devrait fonctionner:
Tapez
diskpart
et attendez l'invite diskpart (DISKPART>
)Type
list volume
Notez soigneusement le numéro de volume du lecteur USB (utilisez les propriétés répertoriées telles que la lettre du lecteur, l'étiquette, le type et la taille pour obtenir de l'aide).
Type
select volume <number>
, où<number>
est le numéro de volume noté ci-dessusType
remove all dismount
Tapez
exit
pour quitter DiskpartVous devriez maintenant pouvoir retirer en toute sécurité votre clé USB sans craindre la perte de données.
la source
Diskpart
en mode Windows normal. C'est le message que je reçois après avoir exécuté l'étape 5 ci-dessus. "DiskPart a correctement supprimé la lettre de lecteur, mais votre ordinateur doit être redémarré avant que les modifications ne prennent effet. Diskpart a démonté le volume avec succès." J'ai essayé de l'utiliser sur un support amovible (carte SD) plutôt que sur un périphérique amovible (tel qu'un lecteur de carte SD ou une clé USB). Le voyant DEL du lecteur ne s’est pas éteint mais il est resté allumé (c’est-à-dire qu’il a cessé de clignoter comme c’est parfois le cas quand une carte SD n’y repose que). Donc, je suppose qu'il est prudent d'enlever alors.remove all dismount
commande, vous devez utiliser lamountvol
commande. Pour plus d'informations, voir la bibliothèque Technet ici et aussi ici . Après avoir utilisé,mountvol
vous devez redémarrer pour que les modifications prennent effet. Vous pouvez également utiliser Gestion des disques pour attribuer une nouvelle lettre de lecteur.Pour répondre à cette question ... Vous n'avez pas besoin de trucs de tiers.
Exécutez cette commande:
RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
pour afficher la boîte de dialogue Supprimer le périphérique en toute sécurité:la source
Puisqu'il s'agit d'un périphérique de sauvegarde, cela signifie qu'il s'agit d'un périphérique de stockage. Par conséquent, vous pouvez le faire à partir de powershell. Il suffit de remplacer X: par la lettre de votre choix:
la source
"F:"
ou"F:\"
ne faisait aucune différence, de même que l'exécution de PowerShell en tant qu'administrateur. La suppression en toute sécurité via la barre des tâches fonctionne. Qu'est-ce que je fais mal?$error
est vide aussi. Au fait, j'utilise PowerShell 5.1 sur Win10 Pro. F: \ est un disque dur USB externe comportant une seule partition (F :) - il peut être retiré en toute sécurité via la barre des tâches sans problèmes.Better performance
leur politique de suppression, bien que cela ne semble pas faire de différence (la clé USB fonctionne avec les deux paramètres, mais le disque dur USB ne le fait pas). Une deuxième clé USB que je possède n'aime pas non plus être éjectée via la commande PowerShell. Fonctionnement: Transcend JetFlash 700 (16 Go, FAT32), Ne fonctionne pas: Seagate Expansion Portable 2015 (4 To, NTFS), Sandisk Extreme (32 Go, exFAT). Tous ont essayé plusieurs fois sur le même port USB. Encore une fois, supprimer en toute sécurité via la barre des tâches-icône fonctionne toujours.Selon cet article 7tutorials , vous pouvez activer le débranchement sans danger en sélectionnant " Retrait rapide". Cela désactivera la mise en cache en écriture par périphérique , pour lequel l'impact sur les performances est "négligeable"? Leurs étapes pour Windows 7 sont ci-dessous.
( Éditer ) Selon cet article de howtogeek , vous devriez toujours faire attention en paramétrant " Retrait rapide". Cela désactivera la mise en cache en écriture et évitera ainsi la plupart des problèmes. Mais certains programmes peuvent toujours écrire des choses «en direct», jusqu'à ce qu'ils soient explicitement éjectés / supprimés. ( Fin de l'édition )
Pas:
( Modifier ) Notez que vous devez utiliser le Gestionnaire de périphériques pour modifier le paramètre. Cela ne peut pas être effectué à partir de l’explorateur de fichiers. (Au moins dans mon édition de Windows 10).
la source
Seagate BUP Slim BK USB External Drive
).