AVISO: se você tiver links simbólicos para diretórios, del
os diretórios reais serão excluídos e não os links simbólicos. Tenha muito cuidado com isso e não execute esses comandos, a menos que saiba que não há links simbólicos no diretório de destino.
Eu regularmente preciso excluir muitos arquivos e diretórios de uma unidade criptografada WinXP, geralmente cerca de 22 GB de 500.000 arquivos em 45.000 pastas.
Excluir com o Windows Explorer é um lixo, pois gasta muito tempo enumerando os arquivos. Normalmente, movo as coisas que preciso excluir para C: \ stufftodelete e tenho um arquivo em lotes 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 para que 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. Executei o método 1 seguido pelo método 2 e redefini 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 gravar na tela para cada arquivo de singe. Uma segunda passagem 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
Aqui estão 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 33 segundos
Portanto, não há muito, provavelmente perto demais para julgar em um único teste.
Edit: Testei novamente 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
Uau, o método 2 é quase três vezes mais rápido que o método 1! Vou atualizar meu deletestuff.bat!