Isso pode ser feito usando o PowerShell :
Get-ChildItem -Path C:\Temp -Include *.* -File -Recurse | foreach { $_.Delete()}
Este comando obtém cada item filho em $path
, executa o método delete em cada um deles e é bastante rápido. A estrutura da pasta é deixada intacta.
Se você tiver arquivos sem uma extensão, use
Get-ChildItem -Path C:\Temp -Include * -File -Recurse | foreach { $_.Delete()}
em vez disso.
Parece que o parâmetro -File
pode ter sido adicionado após o PowerShell v2. Se for esse o caso, então
Get-ChildItem -Path C:\Temp -Include *.* -Recurse | foreach { $_.Delete()}
Deve fazer o truque para arquivos que tenham uma extensão.
Se não funcionar, verifique se você tem uma versão atualizada do Powershell