CMD ne dispose pas d'une fonction permettant d'éjecter les clés USB. Il peut toutefois appeler des objets Win COM qui disposent des fonctions nécessaires, par exemple. Shell.Application
via powershell, VBS, JS, etc.
Sinon (si vous savez comment interfacer avec l'hôte USB), vous pouvez créer un exécutable à partir de Win CMD pour envoyer des commandes directement à l'USB ou via le système d'exploitation (Windows), puis l'appeler/le lancer à partir de CMD (comme pour l'écriture d'un objet COM ou d'une commande Powershell).
Dans powershell à partir de CMD :
powershell "$driveEject = New-Object -comObject Shell.Application; $driveEject.Namespace(17).ParseName(\"E:\").InvokeVerb(\"Eject\"); start-sleep -s 3"
L'éjection d'un disque via powershell nécessite également de le débrancher et de le rebrancher pour qu'il soit à nouveau monté. Sinon, le disque peut simplement être démonté et rester inaccessible jusqu'à ce qu'il soit remonté par l'une des méthodes suivantes mountvol
o diskpart
.
par exemple avec mountvol :
REM unmount
mountvol e: /D or /P
REM mount for access
mountvol e: \\?\Volume{device GUID in hex with hyphens}\
mountvol
permet de monter des dispositifs dans un dossier, par exemple. C:\fakedisk\
ainsi qu'une lettre de lecteur.
eg. Avec diskpart :
REM unmount
(
echo select volume 3
echo remove letter=e dismount
) | diskpart
REM mount again for access
(
echo select volume 3
echo assign letter=e
) | diskpart
Testé dans Win 10 cmd