Como posso excluir mais de 2.000.000 de arquivos em um único diretório com eficiência?

Como posso excluir mais de 2.000.000 de arquivos em um único diretório com eficiência?

Tenho mais de 2.000.000 (isso mesmo, mais de 2 milhões) de arquivos em 'Arquivos Temporários da Internet'.

Essa situação é o resultado de uma tarefa agendada que executa um script. Depois de instalar o Visual Studio, ele gera vários arquivos .HTM 'Assembly Binder Log Entry' cada vez que é executado.

Ele faz isso a cada 15 minutos há8 meses. Portanto, agora há mais de 2.000.000 e 8 GB desses arquivos lá (não é de admirar que o WinDirStat e tudo estejam travando!).


Como posso excluir uma pasta sem iterar todos os 2.000.000 de seu conteúdo?

Tentei abrir a pasta pai no Explorer e simplesmente pressionar a Deltecla. O Windows então tentou enviar 2.000.000 de arquivos para a Lixeira (não). Nunca passou da fase de ‘Descobrir Itens’.

Optei pelo PowerShell em seguida ( Remove-Item 'Content.IE5'), mas ele está tentando recorrer a cada arquivo e excluí-los individualmente. Embora pareça que eventualmente funcionará, sinto que deve haver uma maneira melhor.

Pontos de bônus se você puder me dizer o que diabos são os arquivos de entrada de log do Assembly Binder ...

Responder1

De acordo com uma pergunta semelhante do StackOverflow, há algumas coisas que você pode fazer. Citando a resposta com melhor classificação (não a aceita), o melhor método para realizar essa tarefa é:

O melhor que encontrei é um arquivo em lote de duas linhas com uma primeira passagem para excluir arquivos e saídas para nulo para evitar a sobrecarga de gravação na tela para cada arquivo único. Uma segunda passagem limpa a estrutura de diretórios restante:

> del /f/s/q foldername > nul 
> rmdir /s/q foldername

Obviamente, você precisará adaptar esta resposta para atender aos seus propósitos específicos, já que está excluindo uma série de arquivos em vez de uma pasta.

Este usuário sugere (e eu concordo) que a pior maneira de realizar tal tarefa seria selecionar tudo e Dela próxima pior seria selecionar tudo Shift+Del

Receio não ter ideia de qual é o arquivo de entrada de log.

Fonte -fluxo de pilha

Responder2

Experimente isto:

Iniciar > Executar > cmd > cd para o diretório desejado

uma vez no diretório desejado ou diretório pai, digite del (exemplo) C:\Users\username\Desktop*desiredfile.ext

Isso excluirá os arquivos sem confirmação.

Responder3

Desative os nomes de arquivo 8+3, exclua da linha de comando e ative 8+3 novamente. Manter o controle desse conjunto extra de nomes de arquivos aumenta a sobrecarga quando você passa dos primeiros dez mil arquivos.

informação relacionada