2012-06-29 20:01:16 +0000 2012-06-29 20:01:16 +0000
66
66

Rimuovere il dispositivo USB dalla linea di comando

Sto costruendo uno script di backup per Windows 7, e l'ultima azione che voglio che esegua è quella di “rimuovere” in modo sicuro l'unità USB su cui sta facendo il backup. Ho l'impressione che inserendo l'unità nella stessa_ porta USB per tutto il tempo si manterrà lo stesso DEV_ID (correggetemi se sbaglio). Con una linea di comando (o PowerShell), come posso dire a Windows di rimuovere in modo sicuro l'hardware automaticamente senza l'input dell'utente?

Solo come segnaposto, altri sistemi operativi che possono avere un modo per fare questo sarebbe bello saperlo.

Risposte (6)

67
67
67
2012-10-12 01:14:18 +0000

Oltre a RemoveDrive di Uwe Sieber menzionato nell'altra risposta, ci sono un sacco di utility che possono farlo. Segue un piccolo elenco:


Qualcuno ha chiesto Esiste un comando del prompt DOS (cmd.exe di Win7) per espellere un thumb drive? “ che purtroppo è stato chiuso come duplicato di questo thread. Tuttavia, la domanda riguardava l'espulsione di unità USB mentre si trovava nella Windows Recovery Console / System Recovery Command Prompt , quindi è improbabile che una qualsiasi delle utility di cui sopra possa aiutare. In tale situazione, il seguente metodo usando Diskpart dovrebbe funzionare:

  1. Digitare diskpart e attendere il prompt di diskpart (DISKPART>)

  2. Digita list volume

  3. Annotate attentamente il numero del volume dell'unità USB (usate le proprietà elencate come lettera dell'unità, etichetta, tipo e dimensione per aiuto)

  4. Digita select volume <number>, dove <number> è il numero di volume annotato sopra

  5. Digita remove all dismount

  6. Digita exit per uscire da Diskpart

Ora dovresti essere in grado di rimuovere in sicurezza il tuo drive USB senza temere la perdita di dati.

33
33
33
2012-06-29 20:10:44 +0000

RemoveDrive mi ha servito bene in passato

17
17
17
2012-10-12 05:56:40 +0000

Per rispondere a questa domanda… Non hai bisogno di roba di terze parti.

Con una linea di comando (o PowerShell), come posso dire a Windows di rimuovere in sicurezza l'hardware automaticamente senza l'input dell'utente?

Esegui questo comando: RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll per far apparire la finestra di dialogo Rimozione sicura dell'hardware:

4
4
4
2017-06-14 10:46:54 +0000

Dal momento che è un dispositivo di backup, significa che è un dispositivo di archiviazione, quindi può essere fatto da powershell - basta sostituire X: con la vostra lettera di unità desiderata:

$driveEject = New-Object -comObject Shell.Application
$driveEject.Namespace(17).ParseName("X:").InvokeVerb("Eject")
1
1
1
2014-07-01 14:28:21 +0000

Secondo questo articolo 7tutorials-article , puoi abilitare lo scollegamento sicuro impostando “Quick removal”. Questo disabiliterà la cache di scrittura per dispositivo, di cui l'impatto sulle prestazioni è “trascurabile”? I loro passi per Windows 7 sono qui sotto.

( Edit ) Secondo questo articolo di howtogeek-article , dovresti comunque fare attenzione quando imposti “Rimozione rapida”. Questo disabiliterà la cache di scrittura, e quindi preverrà la maggior parte dei problemi. Ma alcuni programmi potrebbero ancora scrivere roba ‘live’, fino a quando non saranno esplicitamente espulsi/rimossi. ( Fine della modifica )

Passi:

  • inserire il dispositivo nell'unità USB
  • aprire Gestione periferiche
  • espandere Unità disco
  • fare clic con il tasto destro del mouse sull'unità rimovibile, ad esempio “Dispositivo USB2.0 Flash Disk USB.”
  • seleziona Proprietà
  • clicca sulla scheda Politiche
  • abilita “Rimozione rapida” (disabilita “Prestazioni migliori”)

( Modifica ) Nota che devi usare Gestione dispositivi per cambiare l'impostazione, non può essere fatto da Esplora file. (Almeno nella mia edizione di Windows 10).

0
0
0
2019-11-21 19:57:26 +0000

Non sono riuscito a trovare un comando interno (grazie MS), nemmeno uno script là fuori ha funzionato, rimuovere la lettera è un modo povero di fare l'espulsione, anche il modo interattivo non è bello, e odio usare strumenti di terze parti. Nel mio caso, usando qualcosa che è sul mio disco da 20 anni: il comando interno Microsoft Windows Sysinternals aiuta il caso:

sync -e x:
  • sciacqua l'unità usb
  • espelle l'unità usb
  • mantiene la lettera
  • non distorce l'albero USB

in caso di blocchi, usa Sysinternals handle o procexp per saperlo.