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)?

user15586
fonte
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 ._*?

Adam Liss
fonte
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

Baixe unxutils . Tem todos os comandos que você listou.

Phillip Ngan
fonte
parece que o link está inoperante
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.

akf
fonte
+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.

Vincent Ramdhanie
fonte
não suporta tubulação embora ...
0

Se você deseja obter ferramentas unix no Windows, obtenha as do GNU

user31894
fonte