BlackTDN Search

terça-feira, 19 de maio de 2009

Protheus :: "Windows® PowerShell® Removendo Relatórios Antigos"

Quem trabalha com o totvs/protheus sabe que existem arquivos, por exemplo, os de relatórios (extensão *.#r) que às vezes precisam ser excluídos. Sendo assim, resolvi postar uma dica de como utilizar um "script" em Windows® PowerShell® para essa finalidade.

No exemplo abaixo, presumo que o totvs/protheus está instalado abaixo de c:\totvs\. E nesse exemplo verifico e excluo todos os arquivos *.#* com diferença de data maior que 90 (noventa) dias. (Ajuste o caminho de acordo com a sua necessidade)

ls -path d:\totvs\* -include *.#* -recurse | ? {$_.lastwritetime -lt (date).addDays(-90)} | foreach {rm -recurse -force $_}

ou

get-childitem -path d:\totvs\* -include *.#* -recurse | ? {$_.lastwritetime -lt (date).addDays(-90)} | foreach {remove-item -recurse -force $_}

Para isso, criei um agendamento no "task manager/agendador de tarefas" do Windows® que será executado a cada último domingo dos meses de março, junho, setembro e dezembro e em executar coloquei o seguinte conteúdo (atente para o path onde está instalado o totvs/protheus):

powershell "ls -path d:\totvs\* -include *.#* -recurse | ? {$_.lastwritetime -lt (date).addDays(-90)} | foreach {rm -recurse -force $_}"

ou

powershell "get-childitem -path d:\totvs\* -include *.#* -recurse | ? {$_.lastwritetime -lt (date).addDays(-90)} | foreach {remove-item -recurse -force $_}"


Nenhum comentário:

Postar um comentário