Excluir recursivamente arquivos no Windows


3

Eu preciso remover todos os arquivos e diretórios começa com ._recursivamente:

find . -name \._* | xargs rm

Como isso pode ser feito no Windows usando um comando DOS / shell (sem Cygwin)?


3
Não é permitido usar o PowerShell?

alguém pode fornecer o comando PowerShell novamente?

O comando unix que você forneceu acima funcionará apenas para arquivos. O conteúdo dos diretórios correspondentes também deve ser excluído? Ou seja, se o diretório ._d contiver o arquivo f, ele deve ser removido ou não?
Zac Thompson

Respostas:


7

Você já tentou del /s ._*?


Eu preciso fazer isso de forma recursiva para todos os subdiretórios / arquivos

A opção / S excluirá arquivos de todos os subdiretórios. Se você deseja excluir subdiretórios também, edite sua pergunta para refletir isso.
22640 Michael Petrotta

editadas para eliminar subpastas e arquivos de forma recursiva


1

você poderia usar um forloop:

for /f "delims=" %a in ('dir /B /S *._*') do del "%a"

note que isso pode ser um exagero, considerando a simplicidade da resposta de Adam Liss.


+1 para 'for / f' - esta é a maneira de fazer coisas xargs-ish no cmd. Pode ser facilmente modificado para uma solução completa: adicione outra linha para remover diretórios (substitua 'del' por 'rmdir / s / q'). Faça um loop até que 'dir / b / s ._ *' não retorne nada (você tem um * extra).
Zac Thompson

0

Se você está familiarizado com as ferramentas UNIX, tente instalar os Utilitários Berkeley, que são portas de todos os seus favoritos, como grep, awk e sed etc para Windows.


não suporta tubulação embora ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.