Apakah ada cara untuk menghapus folder di Windows dan tidak memiliki waktu yang diambil sebanding dengan jumlah file di dalamnya?
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:
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
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 :)