E aí galera. Tudo bem?
Não sei se já aconteceu com vocês, mas comigo já aconteceu de eu precisar deletar ou remover arquivos de um determinado diretório a partir de uma determinada data de modificação. Uma tarefa relativamente simples, mas que deu uma pequena dor de cabeça, pois haviam mais de 700.000 arquivos no diretório e o Windows não conseguia exibir isso através da interface gráfica. O que fazer?
Bom. Nesse tutorial pretendo demonstrar como mover ou apagar arquivos de acordo com sua última data de modificação através do Powershell. O problema citado acima pode muito bem ser resolvido através da linha de comando, e pra ser sincero, é até mais rápido.
Vamos lá…
Antes de mais nada, precisamos saber quantos dias para trás precisaremos definir para que cheguemos a última data de modificação que queremos. Para tanto, vamos utilizar o comando Write-Host ((Get-Date).AddDays(-XXX)) onde XXX é o número de dias que será diminuído a partir do dia atual. Por exemplo: digamos que hoje seja dia 12/03/2015 e que eu queira remover arquivos do dia 05/03/2015 para trás. Para isso, eu deveria colocar um 7 no lugar do XXX, ficando assim o meu código Write-Host ((Get-Date).AddDays(-5)).
Uma vez que você tenha essa informação em mãos, o seguinte código deverá ser executado para que todos os arquivos com data de modificação 05/03/2015 ou inferior sejam movimentados para o diretório escolhido: Get-ChildItem | Where {$_.LastWriteTime -lt ((Get-Date).AddDays(-7))} | ForEach {Move-Item $_.Name -Destination C:\Temp\Moved }
Após a execução deste código, todos os arquivos com data de modificação 05/03/2015 ou anterior, serão movidos do diretório C:\Temp para o diretório C:\Temp\Moved.
Bom, é isso aí galera. Esses códigos me ajudaram muitas vezes. Espero que também sirva para vocês!!
