Como excluir todos os arquivos que não correspondem aos critérios

Resumo:

Tenho uma pasta cheia de relatórios. A cada semana, mais relatórios são publicados. Gostaria de um script semanal que exclua todos os arquivos em todas as subpastas se o final do nome do arquivo (exceto a extensão) não corresponder a uma frase predefinida. Quaisquer arquivos que não terminem em '07.02.16' OU '31.01.16' devem ser destruídos, por exemplo. Por favor ajude! Muito obrigado.

O uso do PowerShell permite excluir ou incluir explicitamente arquivos específicos que não correspondem aos critérios no processo de exclusão. O exemplo de cmdlet a seguir explica a remoção de arquivos com o nome de arquivo *.LOG.

Um método é usar o cmdlet Remove-Item diretamente usando o argumento -Include, conforme ilustrado abaixo:

  • Remove-Item -Path C:\temp\* -Include *.log

Outro método, possivelmente o mais conservador, é usar primeiro o cmdlet Get-ChildItem para reunir a lista de arquivos a serem destruídos. Você pode finalmente canalizar a coleção para o cmdlet Remove-Item quando estiver satisfeito com a lista de arquivos a serem excluídos. Por exemplo, o código abaixo obtém os arquivos *.LOG em c:\temp.

  • Get-ChildItem -Path C:\temp\* -Include *.log

O Get-ChildItem produz uma lista de arquivos que correspondem ao nome do arquivo *.LOG como resultado do código acima. Mas e se você quiser excluir arquivos com o número 07.02.16 em seus nomes? Você pode transmitir o argumento -Exclude, conforme mostrado no código a seguir:

  • Get-ChildItem -Path C:\temp\* -Include *.log -Exclude *07.02.16*

Como você excluiu o arquivo com o número 07.02.16, o resultado mudou. O arquivo Arquivo 07.02.16.log, em especial, não está mais na lista.

  • Get-ChildItem -Path C:\temp\* -Include *.log -Exclude *07.02.16* | Remover-Item -Verbose

Quando terminar a coleção de arquivos que seu código gera, passe a coleção para o cmdlet Remove-Item para finalmente destruir esses arquivos. Ao executar o código final, você terá alcançado seu objetivo de excluir apenas os arquivos especificados.

Crie um script que executará o espaço em disco adequado para você. Claro, já existem alguns scripts para esse fim; sem dúvida, use-os como referência, mas se estiver preparado para praticar e aprender, você deve se esforçar para escrever os seus próprios.

Se algum dos seus arquivos for corrompido enquanto o script do prompt de comando estiver em execução, você poderá aprender como excluir arquivos corrompidos usando diversas abordagens. No entanto, se você inserir o caminho errado e excluir acidentalmente alguns arquivos importantes, pare imediatamente de usar o PC e utilize um aplicativo de recuperação de arquivos para recuperá-los. EaseUS Data Recovery Wizard é um software poderoso que pode recuperar arquivos excluídos .