วิธีที่เร็วที่สุดในการลบโฟลเดอร์ขนาดใหญ่ใน Windows คืออะไร


224

ฉันต้องการลบโฟลเดอร์ที่มีไฟล์และโฟลเดอร์นับพัน หากฉันใช้ Windows Explorer เพื่อลบโฟลเดอร์อาจใช้เวลา 10-15 นาที (ไม่เสมอไป แต่บ่อยครั้ง) Windows มีวิธีที่รวดเร็วกว่าในการลบโฟลเดอร์หรือไม่?

รายละเอียดอื่น ๆ:

  • ฉันไม่สนใจเกี่ยวกับถังรีไซเคิล
  • มันเป็นไดรฟ์ NTFS

1
ถามด้วยที่นี่ที่ Super User: superuser.com/questions/19762/mass-deleting-files-in-windows/…
Hugo

1
บางที rm -rf ใน cygwin เร็วกว่าและบางที linux live cd rm -rf ก็ยังเร็วขึ้น
barlop

ใช้ cygwin ls DIRECTORY> list_files และทำซ้ำผ่าน list_files และใช้ rm -rf (จัดการกับกลุ่มไฟล์ขนาดใหญ่ 1TB และทำงานได้ดี)
gnuyoga

พวกฉันไม่แน่ใจว่านี่เป็นประสบการณ์แบบเดียวกันกับที่คนอื่นมี ... แต่ถ้าฉันลบโฟลเดอร์ขนาดใหญ่แล้วยกเลิกในขณะที่มันกำลังลบโฟลเดอร์ที่หายไปและถังรีไซเคิลว่างเปล่า ไม่แน่ใจว่าทำไมสิ่งนี้ถึงได้ แต่สำหรับฉัน
ladieu

คำตอบ:


333

ใช้พรอมต์คำสั่งของ Windows:

rmdir /s /q folder

22
อย่างไรก็ตามคุณสามารถใช้ rd / q / s <foldername> ได้แม้ว่าจะเร็วกว่าการแสดงภาพกราฟิกใน Windows Explorer แต่ก็ยังใช้เวลานาน - MS ใช้อัลกอริทึม 'Schlemeil the Painter' (joelonsoftware com / บทความ / fog0000000319.html) ทุกครั้งที่มีการทำ dir หรือ del
warren

37
rm -rf โฟลเดอร์ทำงานอย่างรวดเร็วอย่างน่าอัศจรรย์ถ้าคุณได้ติดตั้ง Cygwin
Sinan Ünür

45
ฉันเคยใช้มัน แต่ฉันพบคอมโบของเดล + rmdir เร็วกว่า rmdir เกือบสามเท่า ดูคำตอบของฉัน: stackoverflow.com/questions/186737/…
Hugo

2
คำแนะนำของ Sinan นั้นเร็วที่สุด ติดตั้งcygwin.comจากนั้นใช้ rm -rfv folderName จากพรอมต์คำสั่ง cygwin
Lonnie Best

1
+1 บน Cygwin ซึ่งทำการยกเลิกการเชื่อมโยงกับโครงสร้างเร็วกว่าการใช้เครื่องมือของ windows เล็กน้อย แต่ก็ไม่ปลอดภัย
Tracker1

975

วิธีที่แย่ที่สุดคือส่งไปที่ถังรีไซเคิล: คุณยังต้องลบทิ้ง ถัดไปที่แย่ที่สุดคือ shift + delete ด้วย Windows Explorer: ทำให้เสียเวลาในการตรวจสอบเนื้อหาก่อนเริ่มลบอะไร

สิ่งที่ดีที่สุดถัดไปคือการใช้rmdir /s/q foldernameจากบรรทัดคำสั่ง del /f/s/q foldernameก็ดีเหมือนกัน แต่มันทิ้งไว้ข้างหลังโครงสร้างไดเรกทอรี

สิ่งที่ดีที่สุดที่ฉันพบคือไฟล์แบตช์สองบรรทัดที่มีพาสแรกในการลบไฟล์และเอาต์พุตไปยัง nul เพื่อหลีกเลี่ยงค่าใช้จ่ายในการเขียนไปยังหน้าจอสำหรับไฟล์ singe ทุกไฟล์ การผ่านครั้งที่สองจากนั้นทำความสะอาดโครงสร้างไดเรกทอรีที่เหลืออยู่:

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

นี่คือเกือบเร็วกว่า rmdir เดียวเกือบสามเท่าตามการทดสอบเวลาด้วยดิสก์เข้ารหัสของ Windows XP ลบไฟล์ ~ 30GB / 1,000,000 / 15,000 โฟลเดอร์: rmdirใช้เวลา 2.5 ชั่วโมงdel+rmdirใช้เวลา ~ 53 นาที ข้อมูลเพิ่มเติมได้ที่Super User

นี่เป็นภารกิจปกติสำหรับฉันดังนั้นฉันมักจะย้ายสิ่งที่ฉันต้องการลบไปที่ C: \ stufftodelete และมีdel+rmdirคำสั่งเหล่านั้นในไฟล์แบตช์ deletestuff.bat นี่เป็นตารางวิ่งในเวลากลางคืน แต่บางครั้งฉันก็ต้องวิ่งตอนกลางวันเพื่อให้เร็วขึ้น

เอกสาร Technet สำหรับdelคำสั่งที่สามารถพบได้ที่นี่ ข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ที่ใช้ด้านบน:

  • /f - บังคับ (เช่นลบไฟล์แม้ว่าพวกเขาจะอ่านเท่านั้น)
  • /s- Recursive / Include Subfolders (คำจำกัดความนี้จากSS64เนื่องจาก technet จะระบุ "ไฟล์ที่ระบุ" ซึ่งไม่เป็นประโยชน์)
  • /q - เงียบ (เช่นไม่ต้องแจ้งให้ผู้ใช้ยืนยัน)

เอกสารที่นี่rmdir พารามิเตอร์คือ:

  • /s - เรียกซ้ำ (เช่นเดียวกับพารามิเตอร์ของ / s)
  • /q - เงียบ (เช่นเดียวกับพารามิเตอร์ del's / q)

1
ฉันลองวันนี้ (เป็นที่ยอมรับในชุดข้อมูลขนาดเล็ก) และได้ผลลัพธ์ตรงกันข้าม: การใช้ rmdir เร็วกว่า 30% (3:17) เมื่อเทียบกับการใช้ del และ rmdir (2:15)
Harry Johnston

6
ฉันต้องการ "Run As Administrator" เพื่อให้การทำงานนี้ขึ้นอยู่กับไดรฟ์
Eyal

1
วิธีการเกี่ยวกับการใช้ Cygwin ฉันรู้ว่ามันเป็นเลเยอร์บน Windows แต่โลก linux สามารถช่วยเราให้บริการได้ดีขึ้นหรือไม่
sarat

1
มันใช้งานได้ดีสำหรับฉัน มันลบประมาณ 16 GB ไฟล์สองแสนไฟล์ในไม่กี่วินาทีใน Windows 7 ระบบปฏิบัติการค้างอยู่นานก่อนที่ฉันจะยอมแพ้และค้นหาที่นี่
Engineero

4
โซลูชันที่ยอดเยี่ยมและสง่างามฉันขอแนะนำให้เราปรับปรุงคำสั่งโดยใช้คำสั่ง shell ampersand: เรียกใช้คำสั่งอย่างต่อเนื่อง: del /f/s/q foldername > nul & rmdir /s/q foldername หรือเรียกใช้คำสั่งอย่างต่อเนื่องหากคำสั่งแรกประสบความสำเร็จ del /f/s/q foldername > nul && rmdir /s/q foldername
GBGOLC

6

ใช้fastcopyเป็นเครื่องมือฟรี มันมีตัวเลือกการลบที่เร็วกว่ามากและวิธีที่ windows ลบไฟล์


1
ฉันลอง FastCopy ไม่แน่ใจว่ามันเร็วกว่า windows หรือไม่ฉันได้รับแค่ 92 ไฟล์ / วินาทีเท่านั้นที่ถูกลบ เมื่อพิจารณาว่าฉันยอมแพ้การนับจำนวนไฟล์ที่มากกว่า 250K มันจะพาฉันไปใช้ตลอดไป .. โอ้ดี แต่ละไฟล์มีขนาดเพียง 20 ไบต์เท่านั้น Darn PHP Session Files
Chrispix

1
ลองใช้เครื่องมือฟรีโอเพ่นซอร์ส RapidDeletePro: github.com/mhisoft/RapidDeletePro
Tony

3

ใช้พรอมต์คำสั่งตามที่แนะนำ ฉันคิดว่าเหตุใด explorer จึงช้าสักครู่แล้วมันช่วยให้คุณประเมินว่าจะใช้เวลานานเท่าใดในการลบไฟล์ / โฟลเดอร์ การทำเช่นนี้จะต้องสแกนจำนวนรายการและขนาด สิ่งนี้ใช้เวลานานดังนั้นการรอที่ไร้สาระกับโฟลเดอร์ขนาดใหญ่

นอกจากนี้ explorer จะหยุดทำงานหากมีปัญหากับไฟล์


3

และเพื่อลบโฟลเดอร์จำนวนมากคุณสามารถสร้างแบตช์ไฟล์ด้วยคำสั่ง spdenne ที่โพสต์

1) สร้างไฟล์ข้อความที่มีเนื้อหาต่อไปนี้แทนที่ชื่อโฟลเดอร์ในเครื่องหมายคำพูดด้วยชื่อโฟลเดอร์ของคุณ:

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

2) บันทึกไฟล์แบตช์ที่มีนามสกุล. bat (เช่น deletefiles.bat)
3) เปิดพรอมต์คำสั่ง (เริ่ม> เรียกใช้> Cmd) และดำเนินการแบตช์ไฟล์ คุณสามารถทำเช่นนี้ได้จากพรอมต์คำสั่ง (แทน X สำหรับอักษรชื่อไดรฟ์ของคุณ):

X:  
deletefiles.bat

2
ใช่ฉันมีไฟล์แบทช์ที่คล้ายกัน แต่พบคอมโบของ del + rmdir เร็วที่สุด: stackoverflow.com/questions/186737/…
Hugo

-1

ลอง+Shift Deleteทำ 24.000 ไฟล์ใน 2 นาทีสำหรับฉัน


13
ดูด้านบนหลีกเลี่ยงถังรีไซเคิล แต่ก็ยังช้ากว่าบรรทัดคำสั่ง
แอน

1
วิธีนี้จะลบไฟล์โดยตรงแทนที่จะย้ายไปยังถังรีไซเคิล แต่ explorer จะยังคงพยายามนับจำนวนไฟล์ทั้งหมดเพื่อให้ได้ค่าประมาณซึ่งใช้เวลานานสำหรับโฟลเดอร์ขนาดใหญ่ (> ไฟล์ 100k)
uceumern

ขนาดไฟล์เฉลี่ยคืออะไร
your_boy_gorja

@ your_boy_gorja ปัญหาไม่ได้เป็นขนาดไฟล์เฉลี่ย แต่จำนวนไฟล์ในโฟลเดอร์ เมื่อคุณลบโดย Explorer Explorer จะต้องอ่านไฟล์ทั้งหมดเพื่อให้ได้ขนาดและลองทำการประมาณค่า
Vinicius Monteiro

@uceumern ใช่สิ่งที่นับนี้มันไร้สาระกับโฟลเดอร์ที่มีไฟล์จำนวนมากหลายไฟล์ (~ 40GB พร้อมไฟล์ 1m +)
Brian Leishman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.