มีวิธีการลบโฟลเดอร์ใน Windows หรือไม่โดยไม่คำนึงถึงเวลากับสัดส่วนของจำนวนไฟล์ภายในไฟล์?
ใช่จัดรูปแบบพาร์ติชัน ฉันแปลกใจเล็กน้อยที่ไม่มีใครแนะนำว่าใน 9 ปีที่แล้ว
มันค่อนข้างรุนแรง แต่ถ้าคุณคิดว่าจะทำเช่นนี้บ่อยครั้งกับโฟลเดอร์ใดโฟลเดอร์หนึ่งมันอาจคุ้มค่าที่จะสร้างพาร์ติชันแยกต่างหากสำหรับมัน
ถ้ามันรุนแรงเกินไปคำตอบอื่น ๆ ก็คือความหวังเดียวของคุณ มีคำอธิบายที่ดีคือเหตุผลในServerFault มันใช้สำหรับระบบไฟล์ linux และ XFS แต่ใช้ตรรกะเดียวกันกับที่นี่ คุณไม่สามารถปรับปรุงฟังก์ชัน build-in OS ได้มากนัก
อย่างไรก็ตามหากคุณทราบเส้นทางไปยังไฟล์ทั้งหมดที่คุณต้องการลบคุณสามารถบันทึกการโทรที่แสดงรายการเนื้อหาของไดเรกทอรีและลบการโทรโดยตรง ยังคงสัดส่วนกับจำนวนไฟล์แม้ว่า
โดยส่วนตัวฉันชอบรายงานความคืบหน้าบางส่วนเพื่อให้แน่ใจว่าโปรแกรมไม่ได้ตาย ฉันชอบลบข้อมูลผ่าน python ตัวอย่างเช่นหากไฟล์ทั้งหมดอยู่ในไดเรกทอรีเดียวโดยไม่มีไดเรกทอรีย่อย:
import tqdm
import sys
import os
location = sys.argv[1]
directory = os.fsencode(location)
with os.scandir(directory) as it:
for dir_entry in tqdm.tqdm(it):
try:
os.remove(dir_entry.path)
except OSError:
pass # was not a file
สิ่งนี้จะลบประมาณ 250 ไฟล์ / s ใน SEAGATE ST3250620NS ของฉันอายุ 12 ปี ฉันคิดว่ามันจะเร็วกว่าบนไดรฟ์ของคุณ
อย่างไรก็ตาม ณ จุดนี้มันเป็นเพียงการเพิ่มประสิทธิภาพขนาดเล็กดังนั้นจะไม่ทำอะไรมากเว้นแต่คุณจะมีไฟล์นับล้านไฟล์ในไดเรกทอรีเดียว (เช่นฉันฮ่า ๆ ฉันทำอะไรลงไป D :)