Como fazer para “não igual” a pesquisa usando o Windows Explorer (ou talvez outro aplicativo) e depois excluir os arquivos encontrados?

0

no Linux / BSD, eu posso rodar

encontre my-path-here -not -inome "* txt" -type -f -delete

e isso excluirá todos os arquivos que não são arquivos .txt na pasta especificada.

Eu quero fazer algo semelhante no windows. De preferência não usando powershell. :)

Obrigado

    
por mrjayviper 30.10.2017 / 10:25

3 respostas

2

Agent Ransack / FileLocator Lite é perfeito para isso

FileLocator Lite is a rebranding of Agent Ransack for corporate environments. It has exactly the same functionality but with a different name and logo

É gratuito para uso pessoal.

Defina File name: para NOT: *.txt

Você pode, opcionalmente, pesquisar por Containing text:

Defina Look in: como seu caminho

Clique em Start

Você pode então selecionar itens dos resultados da maneira usual (clicar, Shift + clicar, Ctrl + clicar em etc.) e excluir.

Você também pode configurá-lo para reagir a F3 e Ctrl + f para substituir a pesquisa do Windows Explorer:

Tools -> Shell Integration -> Replace default Explorer Search
    
por 30.10.2017 / 10:41
4

Se você está procurando uma maneira de fazer isso na linha de comando, o comando for pode ser útil:

for /f "tokens=*" %a in ('dir /b /o') do @if not "%~xa" == ".txt" (@echo del: "%a") else (@echo keep: "%a")

Exemplo:

    
por 30.10.2017 / 11:05
3

O PowerShell oferece a vantagem de ser incorporado (em versões modernas do Windows) e não requer uma ferramenta adicional. Se você não estiver usando uma exclusão para sua pesquisa, a pesquisa normal do Windows Explorer também poderá ser suficiente. Ele suporta algum modificador para restringir sua pesquisa.

Get-ChildItem -File -Recurse | Where Name -notlike "*.txt" | Remove-Item

Você também pode usar o WSL (Windows Subsystem for Linux) para realmente usar o mesmo comando, embora você descubra que ele tem alguns outros problemas e pode não funcionar exatamente da mesma maneira. Além disso, seria um pouco exagerado para uma coisa tão simples.

    
por 30.10.2017 / 12:00