Como excluir arquivos mais antigos que X dias no Windows

Índice:

Como excluir arquivos mais antigos que X dias no Windows
Como excluir arquivos mais antigos que X dias no Windows

Vídeo: Como excluir arquivos mais antigos que X dias no Windows

Vídeo: Como excluir arquivos mais antigos que X dias no Windows
Vídeo: Tutorial FBackup - Melhor software gratuito de backup para Windows Xp, 7, 8, 10 - YouTube 2024, Novembro
Anonim
Já mostramos o quão flexível o shell do Linux pode ser, mas isso não quer dizer que o Windows seja mais atrasado. Veja duas técnicas que você pode usar, dependendo da sua preferência de shell, cmd ou PowerShell.
Já mostramos o quão flexível o shell do Linux pode ser, mas isso não quer dizer que o Windows seja mais atrasado. Veja duas técnicas que você pode usar, dependendo da sua preferência de shell, cmd ou PowerShell.

PowerShell 3

Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item

PowerShell 2

Get-ChildItem –Path “C:Backups” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Remove-Item

Explicação

  • Primeiramente, obtemos os objetos FileInfo e DirectoryInfo no caminho C: Backups.
  • Os objetos FileInfo e DirectoryInfo contêm uma propriedade CreationTime, portanto, podemos filtrar a coleção usando isso.
  • O operador –lt (menor que) é usado para comparar a propriedade CreationTime dos objetos com Get-Date (a data atual) subtrair 5 dias.
  • Isso nos deixa com uma coleção de objetos que foram criados há mais de 5 dias, os quais passamos para Remove-Item.

Dica Pro

Para ver o que será removido, você pode usar o parâmetro –WhatIf:

Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf

Image
Image

Prompt de comando

Embora seja recomendável usar um dos métodos do PowerShell, sem entrar em nenhum dos detalhes, você também pode fazê-lo no prompt de comando.

forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'

Dica Pro

Para ver quais arquivos serão excluídos, você pode usar o eco.

forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'

Recomendado: