Apa cara tercepat untuk menghapus folder besar di Windows?

224

Saya ingin menghapus folder yang berisi ribuan file dan folder. Jika saya menggunakan Windows Explorer untuk menghapus folder itu bisa memakan waktu 10-15 menit (tidak selalu, tetapi sering). Apakah ada cara yang lebih cepat di Windows untuk menghapus folder?

Detail lainnya:

  • Saya tidak peduli dengan tempat sampah.
  • Ini adalah drive NTFS.
BrezzaP
sumber
1
Juga ditanya di sini di Super User: superuser.com/questions/19762/mass-deleting-files-in-windows/…
Hugo
1
Mungkin rm -rf di cygwin lebih cepat, dan mungkin linux live cd rm -rf masih lebih cepat.
barlop
menggunakan cygwin ls DIRECTORY> list_files dan lakukan iterasi di atas list_files dan gunakan rm -rf (berurusan dengan kumpulan file besar 1TB dan bekerja dengan baik)
gnuyoga
Guys, saya tidak yakin apakah ini pengalaman yang sama dengan yang dimiliki orang lain ... tetapi jika saya menghapus folder besar dan kemudian membatalkannya saat itu menghapus folder itu hilang dan recycle bin kosong. Tidak yakin mengapa ini berhasil, tetapi itu berlaku untuk saya.
ladieu

Jawaban:

333

Gunakan Prompt Perintah Windows:

rmdir /s /q folder
Stephen Denne
sumber
22
namun, Anda juga dapat menggunakan rd / q / s <foldername> namun, sementara ini lebih cepat daripada representasi grafis di dalam Windows Explorer, masih akan memakan waktu lama - MS menggunakan algoritma 'Schlemeil the Painter' (joelonsoftware. com / articles / fog0000000319.html) kapan saja dir atau del dilakukan
warren
37
folder rm -rf bekerja sangat cepat jika Anda telah menginstal Cygwin.
Sinan Ünür
45
Saya dulu menggunakan ini, tetapi saya telah menemukan kombo del + rmdir hampir tiga kali lebih cepat daripada rmdir biasa. Lihat jawaban saya: stackoverflow.com/questions/186737/…
Hugo
2
Saran Sinan adalah yang tercepat. Instal cygwin.com kemudian gunakan rm -rfv folderName dari prompt perintah cygwin.
Lonnie Best
1
+1 di Cygwin, yang melakukan pembatalan tautan pada struktur, sedikit lebih cepat daripada cara alat windows melakukannya, meskipun tidak seaman itu.
Pelacak1
975

Cara terburuk adalah mengirim ke Recycle Bin: 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 foldernamedari baris perintah. del /f/s/q foldernamebagus 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 penulisan ke layar untuk setiap file menghanguskan. Lulus kedua kemudian membersihkan struktur direktori yang tersisa:

del /f/s/q foldername > nul
rmdir /s/q foldername

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: rmdirmembutuhkan ~ 2,5 jam, del+rmdirmembutuhkan ~ 53 menit. Info lebih lanjut di Super User .

Ini adalah tugas biasa bagi saya, jadi saya biasanya memindahkan barang-barang yang perlu saya hapus ke C: \ stufftodelete dan memiliki del+rmdirperintah - 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.

Dokumentasi Technet untuk delperintah dapat ditemukan di sini . Info tambahan tentang parameter yang digunakan di atas:

  • /f - Force (yaitu menghapus file meskipun hanya dibaca)
  • /s- Subfolder Rekursif / Sertakan (definisi ini dari SS64 , karena teknisi hanya menyatakan "file yang ditentukan", yang tidak membantu).
  • /q - Diam (mis. Jangan meminta pengguna untuk konfirmasi)

Dokumentasi untuk di rmdir sini . Parameternya adalah:

  • /s - Rekursif (sama dengan parameter del / s)
  • /q - Diam (sama dengan parameter del's / q)
Hugo
sumber
1
Saya mencoba ini hari ini (diakui pada dataset yang lebih kecil) dan mendapatkan hasil sebaliknya: hanya menggunakan rmdir 30% lebih cepat (3:17) daripada menggunakan del dan kemudian rmdir (2:15).
Harry Johnston
6
Saya perlu "Jalankan Sebagai Administrator" agar ini berfungsi, tergantung pada drive.
Eyal
1
Bagaimana kalau menggunakan Cygwin. Saya tahu ini adalah lapisan di atas Windows tetapi dapatkah dunia linux membantu kami melayani dengan lebih baik?
sarat
1
Ini bekerja baik untuk saya. Itu dihapus sekitar 16 GB, beberapa ratus ribu file dalam hitungan detik pada Windows 7. OS menggantung itu untuk sementara waktu sebelum saya menyerah dan mencari di sini.
Engineero
4
Solusi yang sangat bagus dan elegan, dapatkah saya sarankan kita merampingkan perintah dengan menggunakan shell perintah ampersand: Menjalankan perintah dalam suksesi: del /f/s/q foldername > nul & rmdir /s/q foldername atau Menjalankan perintah dalam suksesi hanya jika perintah pertama berhasil. del /f/s/q foldername > nul && rmdir /s/q foldername
GBGOLC
6

gunakan fastcopy , alat gratis. ini memiliki opsi hapus yang jauh lebih cepat daripada cara windows menghapus file.

Stephen Denne
sumber
1
Saya mencoba FastCopy. tidak yakin apakah ini lebih cepat dari windows, saya hanya mendapatkan 92 file / detik dihapus. Mengingat saya menyerah menghitung jumlah file di lebih dari 250 ribu, itu akan membawa saya untuk selamanya digunakan .. Oh well. Setiap file hanya seperti 20 byte. Darn File Sesi PHP.
Chrispix
1
coba alat gratis open source RapidDeletePro: github.com/mhisoft/RapidDeletePro
Tony
3

gunakan prompt perintah, seperti yang disarankan. Saya tahu mengapa explorer sangat lambat beberapa waktu lalu, ini memberi Anda perkiraan berapa lama waktu yang dibutuhkan untuk menghapus file / folder. Untuk melakukan ini, ia harus memindai jumlah item dan ukurannya. Ini memakan waktu lama, karenanya menunggu konyol dengan folder besar.

Juga, penjelajah akan berhenti jika ada masalah tertentu dengan file,

nicodemus13
sumber
3

dan untuk menghapus banyak folder, Anda juga bisa membuat file batch dengan perintah spdenne diposting.

1) buat file teks yang memiliki konten berikut menggantikan nama folder dalam tanda kutip dengan nama folder Anda:

rmdir /s /q "My Apps"  
rmdir /s /q "My Documents"  
rmdir /s /q "My Pictures"  
rmdir /s /q "My Work Files"

2) simpan file batch dengan ekstensi .bat (misalnya deletefiles.bat)
3) buka prompt perintah (Mulai> Jalankan> Cmd) dan jalankan file batch. Anda dapat melakukan ini seperti itu dari command prompt (mengganti X untuk huruf drive Anda):

X:  
deletefiles.bat
xyz
sumber
2
Ya, saya memiliki file batch yang serupa, tetapi menemukan kombo del + rmdir yang tercepat: stackoverflow.com/questions/186737/…
Hugo
-1

Coba Shift+ Delete. Apakah 24.000 file dalam 2 menit untuk saya.

jeroen
sumber
13
Lihat di atas - menghindari tempat sampah tapi masih jauh lebih lambat dari baris perintah.
andig
1
Metode ini akan menghapus file secara langsung alih-alih memindahkannya ke tempat sampah, tetapi penjelajah masih akan mencoba menghitung semua file untuk mendapatkan perkiraan, yang memerlukan waktu lama untuk folder besar (> 100 ribu file)
uceumern
berapa ukuran file rata-rata?
your_boy_gorja
@ your_boy_gorja masalahnya bukan ukuran file rata-rata tetapi jumlah file dalam folder. Ketika Anda menghapus oleh Explorer, Explorer perlu membaca semua file untuk mendapatkan ukuran dan mencoba melakukan perkiraan
Vinicius Monteiro
@uceumern ya ini penghitungan yang dilakukannya konyol dengan folder dengan banyak, banyak file (~ 40GB dengan 1m + file)
Brian Leishman