Excluir pasta sem determinado conteúdo

0

Gostaria de excluir em lote todas as pastas que não contêm um arquivo específico. É sobre uma pasta de trabalho com centenas de projetos. Eu quero remover todas as pastas que não contenham um "main.c". Como posso fazer isso? Isso é possível em um arquivo de lote ou devo usar um programa especial de explorador de arquivos?

Cenários:
Se houver \proj1\main.c , exclua \proj1 .
Se não houver \proj1\main.c , mas houver \proj1\debug\main.c , exclua também \proj1 .

    
por Ruben Stauttener 14.05.2016 / 16:38

1 resposta

0

Aqui está um script que pode funcionar:

@echo off
cd "C:\parentdirectory\"
if exist "proj1\main.c" (rd /s"proj1")
if exist "proj1\debug\main.c" (rd /s "proj1")
cls
echo Done.
pause >nul
exit

Ele dirá quando isso for feito. Substitua parentdirectory pelo diretório pai de proj1 .

    
por 19.05.2016 / 18:51