Como excluir uma pasta de uma pesquisa por cadeia de caracteres

1
>>"results\txtmail.txt" findstr /i /p /s mail %userprofile%\*.txt

Agora, e se eu quiser excluir C: \ Usuários \ Nome de usuário \ AppData \ Local \ Microsoft \ Windows \ Arquivos de Internet temporários \ Content.IE5 da pesquisa?

    
por Daniel 03.10.2016 / 15:05

1 resposta

2

Depois de descobrir que findstr ignora o bit oculto e encontra arquivos em pastas ocultas, usei o comando for (que o respeita) para apresentar o seguinte, definido para um arquivo em lotes:

@echo off
pushd %userprofile%
for /r %%f in (*.txt) do echo %%f | findstr "\Temporary" >NUL: || findstr /i /p mail "%%f" nul:
popd

Notas: -

  • Eu não consegui fazer com que for /r funcione quando eu adiciono um caminho de diretório dentro da correspondência de arquivo, daí o uso de pushd / popd .
  • O primeiro findstr procura \Temporary (isso pode ser elaborado) no caminho do arquivo e executa o segundo findstr apenas se não for encontrado.
  • O parâmetro nul: extra no segundo findstr garante que o nome do arquivo seja impresso com a string encontrada: ele normalmente é omitido quando há apenas um arquivo passado (pode haver outra maneira de fazer isso, mas não muitas vezes usa este comando).
  • Se você estiver fazendo isso com frequência, pode considerar mover o cache da Internet para outro diretório fora do perfil do usuário.

Eu estava verificando esta solução quando o comentário de David Postill apareceu acima. Eu só notei isso, mas vou enviar minha resposta de qualquer maneira, pois ela adiciona alguns pontos que precisam ser considerados em qualquer solução.

    
por 04.10.2016 / 01:19