C'è un modo per eliminare una cartella in Windows e non avere il tempo impiegato in proporzione al numero di file al suo interno?
Bene, sì, formatta la partizione. Sono un po 'sorpreso che nessuno l'abbia suggerito nei 9 anni precedenti.
È abbastanza radicale, ma se prevedi di farlo frequentemente per una cartella specifica, potrebbe valere la pena creare una partizione separata per essa.
Se è troppo radicale, le altre risposte sono la tua unica speranza. C'è una buona spiegazione del perché su serverfault . È per i filesystem linux e XFS, ma qui si applica la stessa logica. Non puoi migliorare molto nelle funzioni del sistema operativo integrato.
Tuttavia, se si conoscono i percorsi di tutti i file che si desidera eliminare, è possibile salvare sulle chiamate che elencano il contenuto della directory e le chiamate rimuovono direttamente, risparmiando un certo sovraccarico. Comunque proporzionale al numero di file.
Personalmente, mi piacciono alcuni dei rapporti sui progressi compiuti per assicurarmi che il programma non sia morto. Quindi mi piace eliminare le cose tramite Python. Ad esempio, se tutti i file si trovano in una directory senza sottodirectory:
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
Questo elimina circa 250 file / i sul mio SEAGATE ST3250620NS di 12 anni. Suppongo che sarà molto più veloce sul tuo disco.
Tuttavia, a questo punto è solo una micro-ottimizzazione, quindi non farà molto se non si hanno milioni di file in una directory. (come me, lol, cosa ho fatto D :)