Saya memiliki kotak Windows XP dengan disk NTFS dan menghapus sejumlah besar file sangat lambat. Jika saya memilih folder yang berisi sejumlah besar file di pohon folder dan menghapus (menggunakan shift-del untuk menyimpan recycle bin) itu membutuhkan waktu yang tampaknya berbanding lurus dengan jumlah file di dalam folder sebelum bahkan muncul kotak konfirmasi. Kemudian dibutuhkan waktu lebih lama untuk menghapus setiap file di folder.
Apakah ada cara untuk menghapus folder di Windows dan tidak memiliki waktu yang diambil sebanding dengan jumlah file di dalamnya?
Jawaban:
Saya rasa tidak, tetapi beberapa metode jelas jauh lebih cepat daripada yang lain.
Cara terburuk adalah mengirim ke Keranjang Sampah: Anda masih perlu menghapusnya. Yang terburuk berikutnya adalah shift + delete dengan Windows Explorer: ia membuang banyak waktu untuk memeriksa konten sebelum mulai menghapus sesuatu.
Cara terbaik berikutnya adalah menggunakan
rmdir /s/q foldername
dari baris perintah.del /f/s/q foldername
bagus juga, tetapi meninggalkan struktur direktori.Yang terbaik yang saya temukan adalah file batch dua baris dengan pass pertama untuk menghapus file dan output ke nomor untuk menghindari biaya overhead penulisan ke layar untuk setiap file menghanguskan. Lulus kedua kemudian membersihkan struktur direktori yang tersisa:
Ini hampir tiga kali lebih cepat daripada rmdir tunggal, berdasarkan tes waktu dengan disk terenkripsi Windows XP, menghapus ~ 30GB / 1.000.000 file / 15.000 folder:
rmdir
membutuhkan ~ 2,5 jam,del+rmdir
membutuhkan ~ 53 menit. Info lebih lanjut di sini .Ini adalah tugas rutin bagi saya, jadi saya biasanya memindahkan barang-barang yang perlu saya hapus ke C: \ stufftodelete dan memiliki
del+rmdir
perintah - perintah itu dalam file batch deletestuff.bat. Ini dijadwalkan untuk berjalan di malam hari, tetapi kadang-kadang saya harus menjalankannya di siang hari agar semakin cepat semakin baik.sumber
> nul
Ya, format partisi. Saya agak terkejut tidak ada yang menyarankan itu dalam 9 tahun sebelumnya.
Ini cukup radikal, tetapi jika Anda mengantisipasi melakukan ini sering untuk folder tertentu, mungkin ada baiknya membuat partisi terpisah untuk itu.
Jika itu terlalu radikal, jawaban lain adalah satu-satunya harapan Anda. Ada penjelasan yang bagus mengapa di serverfault . Ini untuk sistem file linux dan XFS, tetapi logika yang sama berlaku di sini. Anda tidak dapat banyak meningkatkan fungsi-fungsi OS bawaan.
Namun, jika Anda tahu jalur ke semua file yang ingin Anda hapus, maka Anda dapat menyimpan panggilan yang daftar isi direktori dan panggilan hapus langsung, menyimpan beberapa overhead. Masih sebanding dengan jumlah file sekalipun.
Secara pribadi, saya suka beberapa dari laporan kemajuan untuk memastikan diri saya bahwa program tidak mati. Jadi saya suka menghapus barang melalui python. Misalnya, jika semua file berada dalam satu direktori tanpa sub-direktori:
Ini menghapus sekitar 250 file / s pada SEAGATE ST3250620NS saya yang berusia 12 tahun. Saya menganggap itu akan jauh lebih cepat di drive Anda.
Namun, pada titik ini hanya optimasi mikro, jadi tidak akan berbuat banyak kecuali Anda memiliki jutaan file dalam satu direktori. (seperti saya, lol, apa yang telah saya lakukan D :)
sumber
Instal
gnutools for windows
dan jalankan:sumber
Pastikan Anda tidak mencadangkan file ke cloud dan mencoba menghapusnya secara bersamaan!
Dengan banyak solusi cadangan cloud, file-file akan terkunci saat sedang dicadangkan dan kemudian Anda harus menunggu agar dicadangkan.
Jika Anda mengalami masalah ini dengan mengatakan direktori temp (atau sesuatu yang tidak perlu dicadangkan) pastikan direktori temp tidak dipilih dalam set cadangan Anda.
sumber
Saya telah menemukan bahwa folder dengan beberapa lapisan direktori cenderung memperlambat kemampuan Window untuk menghapusnya dengan cepat. Saya sedang mengerjakan sebuah proyek di mana butuh 5 level untuk sampai ke folder node_modules, yang selalu merupakan binatang buas untuk dihapus, bahkan dengan
Apa yang akhirnya saya lakukan dalam situasi ini adalah menavigasi ke folder node_modules atau direktori apa pun yang memiliki level paling dalam dan mulai memilih dan menghapus sekitar selusin direktori pada suatu waktu. Jika saya membuat banyak penghapusan, ini memaksa Recycle Bin untuk bekerja dalam proses paralel dan bukan menggunakan satu utas yang saya percayai, mempercepat proses secara dramatis.
Setelah direktori terdalam saya kosong, saya naik beberapa level dan melakukan hal yang sama. Ini telah mengurangi penghapusan yang telah membuat saya lebih dari satu jam menjadi hanya beberapa menit.
Ini adalah proses yang sangat manual dan mungkin bisa ditulis dengan beberapa keberhasilan, tetapi itulah yang berhasil bagi saya
sumber
Saya menggunakan jawaban asli Hugo untuk membuat file .bat yang saya gunakan saat menghapus proyek NPM. Saya menambahkan variabel path dan hanya perlu menyalin dan menempel path sekali. Klik dua kali file .bat dan ini berfungsi dengan baik - tidak perlu mengetik semuanya.
Contoh penggunaan:
sumber
apakah Anda mencoba menggunakan command prompt
rmdir /s /q foldername
semua operasi file besar di GUI lambat - kebanyakan karena umpan balik visual (progress bar) harus dicat ulang berkali-kali
sumber