Apagar arquivos antigos de uma determinada pasta

Esta semana atendi um cliente que tinha problemas de arquivos temporários ocupando muito espaço em disco.
Criei um script em vbs que executa uma ferramenta gratuita.
Obs: Tenho um script todo em vbs que faz a mesma coisa, mas para a realidade do meu cliente esta foi a melhor alternativa.

‘//////////////////////////////INICIO////////////////////////////////////////////
‘Script para executar o purger e limpar arquivos em locais especificos
‘Autor: Romeu Malacrne Avancini – – rmavancini@gmail.com
‘ Versão 1.2
‘Data 04/07/2008
‘Você vai precisar de fazer o download do purger (ftp://ftp.sac.sk/pub/sac/utilfile/purger.zip )
‘Copie o purger para uma pasta, sysvol ou netlogon, ou para uma pasta compartilhada da rede
‘Insira o caminho onde está o purger, usando caminho UNC
strPath = “D:\Romeu\Scripts”

‘Criação do objetos
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
Set objNetwork = CreateObject(“WScript.Network”)
Set WshShell = WScript.CreateObject(“WScript.Shell”)
‘set objEnvironment = WshShell.Environment(“user”)
‘strTMPVar = objEnvironment(“temp”)

strUserName = objNetwork.UserName
‘strComputerName = objNetwork.ComputerName

strComputer = “.”
‘wscript.echo strTMPVar

‘Deleta arquivos na pasta temp do peril do usuário
‘Está configurado para apagar arquivos na pasta temp do usuário do windows Vista, caso seja outra pasta altere o caminho.
‘A variavel strUserName faz referencia ao nome de usuário da rede.
subDelFiles (“C:\Users\”& strUserName &”\Configurações locais\Temp”)

‘sub procedure executa a limpeza das pasta temp apagando arquivos que estão a mais de 15 dias no local
Sub subDelFiles(strDest)
If objFSO.FolderExists(strDest) Then
WshShell.run “CMD.EXE /C attrib -r -a -s -h “& strDest &”\*.* /s /d”
‘aqui é o comando onde precisa clocar a quantidade de dias de vida do arquivo
WshShell.run strPath & “\PURGER.EXE -rde 15 “& strDest &”\*.*”
WshShell.run “CMD.EXE /C echo “& now &”> “& strDest &”\DELETAR.txt”
‘Wscript.echo “Entrou no IF e chegou ao fim”
Else
‘Wscript.echo “Entrou no Else! O if não foi verdadeiro”
End If
End Sub

Wscript.Quit
‘\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\FIM\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Anúncios

1 comment so far

  1. Tarzan on

    Dica: O problema do FileSystemObject é que o Browser “chia” quando ele é instanciado… Se o usuário liberar, definitivamente, o FileSystemObject fica vulnerável aos virus mais simples…

    Uma alternativa: Baixar e copiar o MSYS para a máquina, colocá-lo no PATH e usar os utilitários find e rm para apagar os arquivos de acordo com o critério que lhe conviér… nada como uma solução UNIX para o Windows! :)


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: