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 $_}"
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 $_}"
Comentários
Postar um comentário