Usuário com melhor resposta
Script VBS para apagar arquivos

Pergunta
-
Ola Pessoal,
Consegui um na internet um ótimo script em vbs que atende quase tudo que preciso. Ele apaga tudo da pasta e gera log. Eu preciso dar uma "incrementada" nele dizendo que é para apagar tudo mas só o que for maior que 7 dias. Poderiam me ajudar?
Segue o script;
Option Explicit Dim Path, FileLog, Arquivo, ArquivoSize Dim ObjFSO, Folder, MyFiles, MySubFolders, MyFolder Dim ObjFileRead, ObjFileWrite, ObjFileAppending Dim NomeFileDeleted, NomeFolderDeleted Dim ActionDel, i On error resume next Path = "C:\test" 'Pasta Raiz onde for desejado apagar os arquivos e subpastas FileLog = "logfile.txt" 'Nome do logfile ActionDel = "no" Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set ObjFSO = CreateObject("Scripting.FileSystemObject") VerifySizeLog FileLog Set Folder = ObjFSO.GetFolder(Path) Set MyFiles = Folder.files Set MySubFolders = Folder.SubFolders Set ObjFileRead = ObjFSO.opentextfile(FileLog, ForReading, True) Set ObjFileAppending = ObjFSO.opentextfile(FileLog, ForAppending, True) 'Set ObjFileWrite = ObjFSO.opentextfile(FileLog, ForWriting, True) If Not ObjFSO.FolderExists(Path) Then WriteLog Path & " - não é uma pasta válida(A pasta não existe)." wscript.echo FileLog WScript.Quit End If i=0 IF MyFiles.Count <> 0 Then For Each MyFiles in Folder.Files NomeFileDeleted = MyFiles.Name MyFiles.Delete if Err.number <> 0 then WriteLog Err.Description&". !!! Erro ao tentar deletar o arquivo "& Path &"\"&NomeFileDeleted Err.Clear else WriteLog Path &"\"&NomeFileDeleted &" - Arquivo deletado em "& now() i=i+1 end if ActionDel = "yes" Next end if IF MySubFolders.Count <> 0 Then For each MyFolder in MySubFolders NomeFolderDeleted = MyFolder.Name MyFolder.delete if Err.number <> 0 then WriteLog Err.Description&". Erro ao tentar deletar a pasta "& Path &"\"&NomeFolderDeleted Err.Clear else WriteLog Path &"\"&NomeFolderDeleted &" - PASTA deletada em "& now() i=i+1 end if ActionDel = "yes" Next end if if ActionDel = "yes" then WriteLog "----------------------------------------FIM----------------------------------------------------" WriteLog "----------------------------TOTAL DE "& i &" OBJETOS DELETADOS---------------------------------" end if Function WriteLog (Text) ObjFileAppending.WriteLine Text End Function Function VerifySizeLog(NameFile) Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set ObjFileRead = ObjFSO.opentextfile(NameFile, ForReading, True) Set Arquivo = ObjFSO.GetFile(NameFile) ArquivoSize = Arquivo.size 'wscript.echo ArquivoSize if ArquivoSize >= 1240000 then ObjFileRead.close Arquivo.name = "LOG FECHADO EM "& Replace(FormatDateTime(now,2),"/","-")&".txt" elseif ArquivoSize <= 1000024 then FileLog = NameFile end if End Function
Valeu!!!
Respostas
-
Walter,
Tem diversos tópicos justamente sobre deletar arquivos antigos. Dá uma olhada no canto superior desta página abaixo do seu perfil tem vários links, o sistema do fórum tentar listar dúvidas parecidas com a sua.
Todos os script são muito parecido, você pode usar um pronto ou extrair apenas a parte que faz o cálculo da data.
Script para deletar arquivos antigos
Fábio de Paula Junior
- Sugerido como Resposta Fábio JrModerator quinta-feira, 25 de outubro de 2012 23:08
- Marcado como Resposta Fábio JrModerator sábado, 27 de outubro de 2012 19:39
-
Ola Fabio,
Sim o consegui rodar um script que atende minhas necessidades, tentei usar o link enviado como modelo mas não consegui nem faze-lo funcionar.
De qualquer forma o problema foi solucionado
Muito obrigado.
- Marcado como Resposta Walter_Santos quarta-feira, 31 de outubro de 2012 12:38
Todas as Respostas
-
Walter,
Tem diversos tópicos justamente sobre deletar arquivos antigos. Dá uma olhada no canto superior desta página abaixo do seu perfil tem vários links, o sistema do fórum tentar listar dúvidas parecidas com a sua.
Todos os script são muito parecido, você pode usar um pronto ou extrair apenas a parte que faz o cálculo da data.
Script para deletar arquivos antigos
Fábio de Paula Junior
- Sugerido como Resposta Fábio JrModerator quinta-feira, 25 de outubro de 2012 23:08
- Marcado como Resposta Fábio JrModerator sábado, 27 de outubro de 2012 19:39
-
-
Ola Fabio,
Sim o consegui rodar um script que atende minhas necessidades, tentei usar o link enviado como modelo mas não consegui nem faze-lo funcionar.
De qualquer forma o problema foi solucionado
Muito obrigado.
- Marcado como Resposta Walter_Santos quarta-feira, 31 de outubro de 2012 12:38
-
-