Como posso apagar arquivos zip em uma pasta / subpastas que não tenham "MS" em seu nome?
Use o seguinte arquivo em lotes:
@echo off
setlocal disableDelayedExpansion
for /f "usebackq tokens=*" %%i in ('dir /a:-d /b /s *.zip ^| findstr /v "[\][^\]*MS[^\]*$"' ) do (
echo del /s /q %%i
)
endlocal
Notas:
- Remova o
echo
quando estiver satisfeito com o que o arquivo em lote fará. - Resposta atualizada conforme comentário por dbenham para permitir diretórios que contenham a string" MS "
- Resposta atualizada para manipular nomes de arquivos contendo espaços.
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- del - Exclua um ou mais arquivos.
- dir - Exibe uma lista de arquivos e subpastas.
- findstr - Pesquise strings em arquivos.
- para / f - Comando Loop contra os resultados de outro comando.