Remover padrão de mach de pastas recursivamente no Windows

2

Preciso excluir todas as subpastas de uma árvore de pastas que correspondam ao padrão "images".
Eu posso remover todos os arquivos correspondentes a um padrão usando

del /s myfolder\images*.*

mas não funciona para diretórios.
Eu tentei com rmdir também, mas sem sucesso

    
por BearCode 04.02.2013 / 05:26

2 respostas

7

rmdir /s pode ser o que você quer limpar uma sub-árvore e, como Floris disse, isso é muito perigoso. Se eu entendi sua pergunta corretamente, você pode excluir myfolder\a\b\c\holiday_images deixando myfolder\a\b\c\holiday_videos intacta. Isso deve fazer o que você quer:

for /d /r %i in (*image*) do @rmdir /s "%i"

Esta é uma funcionalidade nativa do Windows; não há necessidade de baixar ou instalar nada.

Um pequeno conselho geral para executar comandos potencialmente perigosos como este é fazer

for /d /r %i in (*image*) do @echo rmdir /s "%i"
primeiro; Isso mostrará o que ele fará, mas não fará nada. Depois de confirmar que está fazendo o que você deseja, execute-o novamente sem o echo .

Se você quiser usar este comando em um arquivo de lote (script), você deve dobrar o percentual de caracteres; ou seja,

for /d /r %%i in (*image*) do @rmdir /s "%%i"
    
por 05.02.2013 / 04:09
-1

rm -rf myfolder / as imagens serão excluídas sem solicitação; caso contrário, você poderá ir -ri para confirmar todas as exclusões.

    
por 04.02.2013 / 05:41

Tags