Existe-t-il un moyen de supprimer un dossier dans Windows et de ne pas avoir le temps pris proportionnel au nombre de fichiers qu'il contient?
Eh bien, oui, formatez la partition. Je suis un peu surpris que personne ne l'ait suggéré au cours des 9 dernières années.
C'est assez radical, mais si vous prévoyez de le faire fréquemment pour un dossier spécifique, il pourrait être utile de créer une partition distincte pour celui-ci.
Si c'est trop radical, les autres réponses sont votre seul espoir. Il y a une bonne explication pourquoi sur serverfault . C'est pour les systèmes de fichiers Linux et XFS, mais la même logique s'applique ici. Vous ne pouvez pas améliorer beaucoup les fonctions intégrées du système d'exploitation.
Cependant, si vous connaissez les chemins d'accès à tous les fichiers que vous souhaitez supprimer, vous pouvez enregistrer sur les appels qui répertorient le contenu du répertoire et appeler supprimer directement, économisant ainsi une surcharge. Toujours proportionnelle au nombre de fichiers.
Personnellement, j'aime certains extraits du rapport d'étape pour m'assurer que le programme n'est pas mort. J'aime donc supprimer des trucs via python. Par exemple, si tous les fichiers sont dans un répertoire sans sous-répertoires:
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
Cela supprime environ 250 fichiers / s sur mon SEAGATE ST3250620NS de 12 ans. Je suppose que ce sera beaucoup plus rapide sur votre disque.
Cependant, à ce stade, il ne s'agit que de micro-optimisation, donc ne fera pas grand-chose à moins d'avoir des millions de fichiers dans un répertoire. (comme moi, lol, qu'ai-je fait D :)