Eu regularmente preciso excluir muitos arquivos e diretórios de uma unidade criptografada WinXP, normalmente em torno de 22 GB de 500.000 arquivos em 45.000 pastas.
A exclusão com o Windows Explorer é um desperdício porque desperdiça muito tempo enumerando os arquivos. Eu normalmente movo as coisas que preciso excluir para C: \ stufftodelete e tenho um arquivo em lote deletestuff.bat para rmdir /s/q C:\stufftodelete
. Isso está programado para ser executado à noite, mas às vezes eu preciso executá-lo durante o dia, então quanto mais rápido, melhor.
Aqui estão os resultados de um teste rápido de uma pequena amostra de 5,85 MB de 960 arquivos em 303 pastas. Eu executei o método 1 seguido pelo método 2 e, em seguida, restaure os diretórios de teste.
O método 1 remove os arquivos e a estrutura de diretórios em uma passagem:
rmdir /s/q foldername
O método 2 tem uma primeira passagem para excluir arquivos e saídas para nul para evitar a sobrecarga de escrever para a tela para cada arquivo singe. Um segundo passe, em seguida, limpa a estrutura de diretórios restante:
del /f/s/q foldername > nul
rmdir /s/q foldername
- Método 1: 17,5s, 14,9s, 13,9s, 14,8s, 13,8s: média 14,98 segundos
- Método 2: 14.3s, 12.1s, 11.7s, 14.2s, 11.8s: média 12.82 segundos
Veja os resultados de outro teste usando 404 MB de 19.521 arquivos em 3.243 pastas:
- Método 1: 2 minutos e 20 segundos
- Método 2: 2 minutos e 33 segundos
Portanto, não há muito, provavelmente perto demais para julgar em um único teste.
Edit: Eu retestei com muito mais dados, este é um caso típico para mim: 28.3 GB de 1.159.211 arquivos em 146.918 pastas:
- Método 1: 2h 15m, 2h 34m: média: 2 horas 25 minutos
- Método 2: 49m, 57m: média: 53 minutos
Nossa, o método 2 é quase três vezes mais rápido que o método 1! Eu vou estar atualizando meu deletestuff.bat!