Cách nhanh nhất để xóa một thư mục lớn trong Windows là gì?


224

Tôi muốn xóa một thư mục chứa hàng ngàn tệp và thư mục. Nếu tôi sử dụng Windows Explorer để xóa thư mục, có thể mất từ ​​10 đến 15 phút (không phải lúc nào cũng vậy). Có cách nào nhanh hơn trong Windows để xóa các thư mục?

Những chi tiết khác:

  • Tôi không quan tâm đến thùng rác.
  • Đó là một ổ đĩa NTFS.

1
Cũng được hỏi tại đây tại Super User: superuser.com/questions/19762/mass-deleting-files-in-windows/iêu
Hugo

1
Có thể rm -rf trong cygwin nhanh hơn và có thể một đĩa cd trực tiếp linux rm -rf vẫn nhanh hơn.
barlop

sử dụng cygwin ls TRỰC TIẾP> list_files và thực hiện lặp lại list_files và sử dụng rm -rf (xử lý nhóm tệp lớn 1TB và hoạt động tốt)
gnuyoga

Các bạn, tôi không chắc đây có phải là cùng một trải nghiệm mà mọi người khác có không ... nhưng nếu tôi xóa một thư mục lớn và sau đó hủy nó trong khi nó xóa thư mục đó và thùng rác trống rỗng. Không chắc chắn tại sao điều này làm việc, nhưng nó làm cho tôi.
ladieu

Câu trả lời:


333

Sử dụng Windows Command Prompt:

rmdir /s /q folder

22
Tuy nhiên, bạn cũng có thể sử dụng nd / q / s <Foldername>, tuy nhiên, tốc độ này nhanh hơn so với biểu diễn đồ họa trong Windows Explorer, nhưng vẫn sẽ mất nhiều thời gian - MS sử dụng thuật toán 'Schlemeil the Họa sĩ' (joelonsoftware. com / article / Fog0000000319.html) bất cứ khi nào một dir hoặc del được thực hiện
warren

37
thư mục rm -rf hoạt động nhanh tuyệt vời nếu bạn đã cài đặt Cygwin.
Sinan Ünür

45
Tôi đã từng sử dụng cái này, nhưng tôi đã tìm thấy một combo del + rmdir nhanh hơn gần ba lần so với rmdir đơn giản. Xem câu trả lời của tôi: stackoverflow.com/questions/186737/ Ấn
Hugo

2
Đề nghị của Sinan là nhanh nhất. Cài đặt cygwin.com sau đó sử dụng thư mục rm -rfvName từ dấu nhắc lệnh của cygwin.
Lonnie hay nhất

1
+1 trên Cygwin, không hủy liên kết trên cấu trúc, nhanh hơn một chút so với cách các công cụ windows thực hiện, mặc dù không an toàn.
Tracker1

975

Cách tồi tệ nhất là gửi đến Thùng rác: bạn vẫn cần xóa chúng. Điều tồi tệ nhất tiếp theo là shift + xóa với Windows Explorer: nó lãng phí vô số thời gian kiểm tra nội dung trước khi bắt đầu xóa bất cứ thứ gì.

Tiếp theo tốt nhất là sử dụng rmdir /s/q foldernametừ dòng lệnh. del /f/s/q foldernamecũng tốt, nhưng nó để lại cấu trúc thư mục.

Điều tốt nhất tôi tìm thấy là một tệp bó hai dòng với lần đầu tiên xóa tệp và xuất ra nul để tránh chi phí ghi lên màn hình cho mỗi tệp singe. Một pass thứ hai sau đó dọn sạch cấu trúc thư mục còn lại:

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

Tốc độ này nhanh hơn gần ba lần so với một rmdir, dựa trên các thử nghiệm thời gian với đĩa được mã hóa Windows XP, xóa ~ 30GB / 1.000.000 tệp / 15.000 thư mục: rmdirmất ~ 2,5 giờ, del+rmdirmất ~ 53 phút. Thêm thông tin tại Siêu người dùng .

Đây là một nhiệm vụ thường xuyên đối với tôi, vì vậy tôi thường di chuyển những thứ tôi cần xóa sang C: \ Stufftodelete và có các del+rmdirlệnh đó trong tệp bó deletestuff.bat . Điều này được lên kế hoạch để chạy vào ban đêm, nhưng đôi khi tôi cần chạy nó vào ban ngày để càng nhanh càng tốt.

Tài liệu Technet cho dellệnh có thể được tìm thấy ở đây . Thông tin bổ sung về các tham số được sử dụng ở trên:

  • /f - Buộc (tức là xóa các tệp ngay cả khi chúng chỉ đọc)
  • /s- Đệ quy / Bao gồm các thư mục con (định nghĩa này từ SS64 , vì Technet chỉ đơn giản là "các tệp được chỉ định", không hữu ích).
  • /q - Yên tĩnh (nghĩa là không nhắc người dùng xác nhận)

Tài liệu cho rmdir đây . Các thông số là:

  • /s - Đệ quy (tức là giống như tham số của del / s)
  • /q - Yên tĩnh (tức là giống như tham số del's / q)

1
Tôi đã thử điều này ngày hôm nay (thừa nhận trên một tập dữ liệu nhỏ hơn) và nhận được kết quả ngược lại: chỉ sử dụng rmdir nhanh hơn 30% (3:17) so với sử dụng del và sau đó rmdir (2:15).
Harry Johnston

6
Tôi cần phải "Chạy với tư cách quản trị viên" để làm việc này, tùy thuộc vào ổ đĩa.
Mắt

1
Làm thế nào về việc sử dụng Cygwin. Tôi biết đó là một lớp trên Windows nhưng thế giới linux có thể giúp chúng tôi phục vụ tốt hơn không?
sarat

1
Nó hiệu quả tuyệt vời đối với tôi. Nó đã xóa khoảng 16 GB, vài trăm nghìn tệp trong vài giây trên Windows 7. Hệ điều hành đã treo trên đó một lúc trước khi tôi bỏ cuộc và tìm kiếm ở đây.
Engineero

4
Một giải pháp tuyệt vời và thanh lịch, tôi có thể đề nghị chúng ta hợp lý hóa lệnh bằng cách sử dụng các ký tự shell shell: Chạy các lệnh liên tiếp: del /f/s/q foldername > nul & rmdir /s/q foldername hoặc Chạy các lệnh liên tiếp chỉ khi lệnh đầu tiên thành công. del /f/s/q foldername > nul && rmdir /s/q foldername
GBGOLC

6

sử dụng fastcopy , một công cụ miễn phí. Nó có một tùy chọn xóa nhanh hơn rất nhiều so với cách windows xóa các tập tin.


1
Tôi đã thử FastCopy. không chắc nó có nhanh hơn windows không, tôi chỉ bị xóa 92 tệp / giây. Xem xét tôi đã từ bỏ việc đếm số lượng tệp hơn 250 nghìn, nó sẽ đưa tôi đến bao giờ để sử dụng .. Oh tốt. Mỗi tệp chỉ giống như 20 byte. Tập tin phiên Darn PHP.
Chrispix

1
dùng thử công cụ miễn phí mã nguồn mở RapidDeletePro: github.com/mhisoft/RapidDeletePro
Tony

3

sử dụng dấu nhắc lệnh, như đề xuất. Tôi đã tìm ra lý do tại sao explorer chậm như vậy một thời gian trước đây, nó cho bạn ước tính thời gian cần thiết để xóa các tệp / thư mục. Để làm điều này, nó phải quét số lượng vật phẩm và kích thước. Điều này mất nhiều thời gian, do đó chờ đợi vô lý với các thư mục lớn.

Ngoài ra, explorer sẽ dừng nếu có sự cố cụ thể với tệp,


3

và để xóa rất nhiều thư mục, bạn cũng có thể tạo một tệp bó với lệnh spdenne được đăng.

1) tạo một tệp văn bản có nội dung sau thay thế tên thư mục trong dấu ngoặc kép bằng tên thư mục của bạn:

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

2) lưu tệp bó với phần mở rộng .bat (ví dụ: deletefiles.bat)
3) mở dấu nhắc lệnh (Bắt đầu> Chạy> Cmd) và thực hiện tệp bó. bạn có thể làm như vậy từ dấu nhắc lệnh (thay thế X cho ký tự ổ đĩa của bạn):

X:  
deletefiles.bat

2
Có, tôi có một tệp bó tương tự, nhưng tìm thấy một kết hợp của del + rmdir nhanh nhất: stackoverflow.com/questions/186737/ Kẻ
Hugo

-1

Hãy thử Shift+ Delete. Đã làm 24.000 tập tin trong 2 phút cho tôi.


13
Xem ở trên - tránh thùng rác nhưng vẫn chậm hơn dòng lệnh.
andig

1
Phương pháp này sẽ xóa các tệp trực tiếp thay vì di chuyển chúng vào thùng rác, nhưng trình thám hiểm vẫn sẽ cố gắng đếm tất cả các tệp để có ước tính, mất nhiều thời gian cho các thư mục lớn (> 100k tệp)
uceumern

kích thước tập tin trung bình là gì?
your_boy_gorja

@your_boy_gorja vấn đề không phải là kích thước tệp trung bình mà là số lượng tệp trong một thư mục. Khi bạn xóa bằng Explorer, Explorer cần đọc tất cả các tệp để có kích thước và thử ước tính
Vinicius Monteiro

@uceumern vâng, việc đếm này thật vô lý với một thư mục có nhiều, nhiều tệp (~ 40GB với các tệp 1m +)
Brian Leishman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.