Saya sedang membuat skrip cadangan untuk Windows 7, dan tindakan terakhir yang saya ingin lakukan adalah dengan aman "menghapus" drive USB yang dicadangkan. Saya mendapat kesan bahwa memasukkan drive ke port USB yang sama sepanjang waktu akan mempertahankan DEV_ID yang sama (koreksi saya jika saya salah). Dengan baris perintah (atau PowerShell), bagaimana saya bisa memberitahu Windows untuk menghapus perangkat keras secara otomatis tanpa input pengguna?
Sama seperti pemegang tempat, OS lain yang mungkin memiliki cara untuk melakukan ini akan lebih baik untuk diketahui juga.
windows
command-line
batch-file
Luke Kanada REINSTATE MONICA
sumber
sumber
Jawaban:
RemoveDrive telah membantu saya dengan baik di masa lalu
sumber
Selain RemoveDrive Uwe Sieber yang disebutkan dalam jawaban lain, ada sejumlah utilitas yang dapat mencapai ini. Daftar kecil berikut:
USB Disk Ejector terutama adalah utilitas berbasis GUI tetapi dapat digunakan dengan sama baiknya dari command-line untuk mengeluarkan drive yang menjalankan program, atau drive apa pun dengan menentukan huruf drive / (sebagian) nama drive / mountpoint dll. Sumber gratis dan terbuka.
USB Safely Remove tidak gratis tetapi merupakan utilitas penghilang disk pada steroid, dengan banyak fitur canggih , termasuk tentu saja dukungan baris perintah . Zentimo adalah saudara lelakinya yang lebih besar, dengan lebih banyak fitur .
Microsoft DevCon sendiri adalah versi baris perintah dari Device Manager. Selain versi asli Win2K / XP-era yang tersedia dari halaman KB, ada rilis yang lebih baru (baik 32 dan 64-bit) yang tersedia dari berbagai sumber MS sebagaimana disebutkan dalam artikel Where to find DevCon.exe ini. DevCon.exe untuk Windows 7 (dan mungkin juga Windows 8) dapat ditemukan terkubur dalam Windows Driver Kit (WDK) yang sesuai, sebagaimana disebutkan dalam utas ini (yang juga berisi tautan unduhan ke executable yang diekstrak ).
devcon status *
ataudevcon hwids *
ataudevcon findall =usb
(untuk daftar yang lebih ringkas) akan memberi tahu Anda ID perangkat keras perangkat. Sebagai contoh:Anda kemudian dapat mencoba menghapus perangkat dengan
devcon remove "USB\VID_0781&PID_7113"
(wildcard seperti * diperbolehkan, tetapi hati-hati atau Anda mungkin akhirnya menghapus sesuatu yang lain sama sekali!)Seseorang bertanya " Apakah ada perintah DOS prompt (cmd.exe dari Win7) untuk mengeluarkan thumb drive? " Yang sayangnya ditutup sebagai duplikat dari utas ini. Namun, pertanyaannya adalah tentang mengeluarkan drive USB saat berada di Windows Recovery Console / System Recovery Command Prompt , jadi sepertinya tidak ada utilitas di atas yang akan membantu. Dalam situasi seperti itu, metode berikut menggunakan Diskpart akan berfungsi:
Ketik
diskpart
dan tunggu prompt diskpart (DISKPART>
)Tipe
list volume
Catat nomor volume drive USB dengan hati-hati (gunakan properti yang tercantum seperti huruf drive, label, jenis dan ukuran untuk bantuan)
Ketik
select volume <number>
, di mana<number>
nomor volume dicatat di atasTipe
remove all dismount
Ketik
exit
untuk keluar dari DiskpartSekarang Anda harus dapat menghapus drive USB dengan aman tanpa takut kehilangan data.
sumber
Diskpart
saat dalam mode Windows normal. Ini adalah pesan yang saya dapatkan setelah melakukan langkah 5 di atas. "DiskPart berhasil menghapus huruf drive, tetapi komputer Anda harus di-boot ulang sebelum perubahan berlaku. Diskpart berhasil menurunkan volume." Saya mencoba menggunakannya pada media yang dapat dilepas (kartu SD) daripada perangkat yang dapat dilepas (seperti pembaca kartu SD atau USB flash drive). Indikator LED pada pembaca tidak mati tetapi tetap menyala (yaitu berhenti berkedip seperti yang kadang-kadang terjadi ketika kartu SD hanya duduk di dalamnya). Jadi saya kira aman untuk dihapus.remove all dismount
perintah Anda harus menggunakanmountvol
perintah. Untuk informasi lebih lanjut lihat perpustakaan Technet di sini dan juga di sini . Setelah digunakan,mountvol
Anda harus mem-boot ulang agar perubahan diterapkan. Atau, Anda juga dapat menggunakan Manajemen Disk untuk menetapkan huruf drive baru.Untuk menjawab pertanyaan ini ... Anda tidak perlu barang pihak ketiga.
Jalankan perintah ini:
RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
untuk membuka kotak dialog Safely Remove Hardware:sumber
Karena ini adalah perangkat cadangan, itu berarti perangkat penyimpanan, oleh karena itu dapat dilakukan dari PowerShell - cukup ganti X: dengan huruf drive yang Anda inginkan:
sumber
"F:"
atau"F:\"
tidak membuat perbedaan, seperti menjalankan PowerShell sebagai admin. Menghapus secara aman melalui Taskbar berfungsi. Apa yang saya lakukan salah?$error
juga kosong. Saya menjalankan PowerShell 5.1 pada Win10 Pro. F: \ adalah HDD USB eksternal yang hanya memiliki satu partisi (F :) - dapat dihapus dengan aman melalui taskbar tanpa masalah.Better performance
kebijakan penghapusan, meskipun sepertinya tidak membuat perbedaan (USB flashdisk berfungsi dengan kedua pengaturan, HDD USB tidak). Flashdisk kedua yang saya miliki juga tidak suka dikeluarkan melalui perintah PowerShell. Bekerja: Transcend JetFlash 700 (16GB, FAT32), Tidak berfungsi: Seagate Expansion Portable 2015 (4TB, NTFS), Sandisk Extreme (32GB, exFAT). Semua mencoba beberapa kali pada port USB yang sama. Sekali lagi, menghapus dengan aman melalui ikon Taskbar selalu berhasil.Menurut artikel 7tutorials ini , Anda dapat mengaktifkan pencabutan aman dengan mengatur "Penghapusan cepat". Ini akan menonaktifkan cache tulis per perangkat , yang dampak kinerjanya "dapat diabaikan"? Langkah-langkah mereka untuk Windows 7 di bawah ini.
( Sunting ) Menurut artikel howtogeek ini , Anda harus tetap berhati-hati saat mengatur "Penghapusan cepat". Ini akan menonaktifkan cache tulis, dan karenanya akan mencegah sebagian besar masalah. Tetapi beberapa program mungkin masih menulis hal-hal 'hidup', sampai secara eksplisit dikeluarkan / dihapus. ( Akhir suntingan )
Langkah:
( Edit ) Perhatikan bahwa Anda perlu menggunakan Device Manager untuk mengubah pengaturan, itu tidak dapat dilakukan dari File Explorer. (Setidaknya dalam edisi Windows 10 saya.)
sumber
Seagate BUP Slim BK USB External Drive
).