Neste artigo veremos como mover arquivos antigos e gerar log, usando scripts visual basic (vbs)
- Crie um arquivo de texto e salve com nome.vbs
- 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 dificuldade)
- 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
Gostou deste script? comente conosco seu ponto de vista. Acompanhe também nossas outras dicas de scripts e se você tiver outras dicas, nos mande seu artigo
Não esqueça de se inscrever com na caixa ao lado para receber as novidades diretamente em seu e-mail
4 Comentários. Deixe novo
[…] https://www.purainfo.com.br/programacao-scripts/vbs-vba/vbsapagando-arquivos-antigos/ […]
A ideia é interessante mas retorna mensagem de erro na primeira linha. rsrs carct 15. sabe como resolver?
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?
Alguem conseguiu resolver o erro da primeira linha?