segunda-feira, dezembro 17, 2018
Home » Programação/ Scripts » VBS – Movendo arquivos antigos e gerando LOG

VBS – Movendo arquivos antigos e gerando LOG

Bom dia a todos os leitores do purainfo, a seguir um script para mover arquivos com determinado numero de dias para outra pasta.

  1. Crie um arquivo de texto e salve com nome.vbs
  2. copie o código abaixo e altere as linhas que julgar necessário (codigo está comentado e creio que a maioria não terá maiores dificuldades.
  3. execute-o ou adicione este script a uma tarefa agendada para que rode manualmente.

strComputer = “.”
Set objWMIService = GetObject(“winmgmts:\\” & strComputer & “\root\cimv2”)
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
‘Coloque aqui a pasta que será verificada
strPasta = “F:\BKPs Atuais\”
‘Coloque aqui a pasta para a qual os arquivos serão copiados (Se quiser copiar, se nao quiser apague essa linha)
strDest = “F:\BKPS antigos\\BAK-LOG-OLD\”
‘Coloque aqui os tipos de arquivos que serão copiados ou deletados, separados por “;”
arrTipos = “log;bak”
‘ NOME DO ARQUIVO DE LOG
strLogFile = “F:\LOGs\logMover.txt”
‘quantidade de dias
strData = 7
arrTipos = split(arrTipos,”;”)
Set objLogFile = objFSO.OpenTextFile(strLogFile, 8, True, 0)
objLogFile.WriteLine  VBCRLF
objLogFile.WriteLine “===========================================”
objLogFile.WriteLine “ARQUIVOS MOVIDOS EM: ” & now
objLogFile.WriteLine “===========================================”
If (objFSO.FolderExists(strPasta) = True) Then
Set Folder = ObjFSO.GetFolder(strPasta)
Set MyFiles = Folder.files
For Each tipo in arrTipos
For Each MyFiles in Folder.Files
If Right(myfiles.name,3) = tipo And DateDiff(“d”,myfiles.DateLastModified,now) > strData Then
objFSO.Copyfile strPasta & myfiles.name,strDest,True
objLogFile.WriteLine “Arquivo : ”  & myfiles.name &  ” copiado em : ” & Now
objFSO.Deletefile strPasta & myfiles.name
End If
Next
Next
End if
wscript.quit

 
Espero que seja útil a você, assim como foi para mim.
até a prox.

Sobre Diego Duarte

Diego Duarte atua como coordenador de suporte, é apaixonado por TI e arranha um violãozinho nos finais de semana

4 comentários

  1. lucasapdas

    A ideia é interessante mas retorna mensagem de erro na primeira linha. rsrs carct 15. sabe como resolver?

  2. Luiz Henrique

    Rapaz, ainda não testei. Porem eu gostaria de saber se é possível fazer a verificação “recurciva” de Pastas e Sub-Pastas. E move-las para um outra unidade por exemplo D:\ArquivoMorto\[NOME_DA_PASTA]\[NOME_DO_ARQUIVO]
    Mantendo a mesma estrutura de pastas e arquivos de um diretório.
    Tem como fazer? Você pode me ajudar?

Gostou do conteúdo? Deixe seu comentário