none
Script para apagar os arquivos com mais de 30 min RRS feed

  • Pergunta

  • Pessoal,
    Poderiam me ajudar com um script para apagar os arquivos criados a mais de 30 min em um determinado diretorio ?
    Vou agenda-lo no scheduler.

    Obrigado.
    sexta-feira, 15 de janeiro de 2010 13:10

Respostas

  • Olá,

    Verifique o script abaixo:


    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    'Coloque aqui a pasta que será verificada (deixe a barra no final)
    strPasta = "c:\TESTE\"

    'Coloque aqui os tipos de arquivos que serão copiados ou deletados, separados por ";"
    arrTipos = "ini;exe;bat;txt"

    'quantidade de minutos
    strData = 2

    arrTipos = split(arrTipos,";")
    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("n",myfiles.DateLastModified,now) > strData Then
                   objFSO.Deletefile strPasta & myfiles.name
                End If
             Next
          Next
    End if

    wscript.quit


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    • Marcado como Resposta renatux sexta-feira, 15 de janeiro de 2010 16:58
    sexta-feira, 15 de janeiro de 2010 13:22

Todas as Respostas

  • Olá,

    Verifique o script abaixo:


    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    'Coloque aqui a pasta que será verificada (deixe a barra no final)
    strPasta = "c:\TESTE\"

    'Coloque aqui os tipos de arquivos que serão copiados ou deletados, separados por ";"
    arrTipos = "ini;exe;bat;txt"

    'quantidade de minutos
    strData = 2

    arrTipos = split(arrTipos,";")
    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("n",myfiles.DateLastModified,now) > strData Then
                   objFSO.Deletefile strPasta & myfiles.name
                End If
             Next
          Next
    End if

    wscript.quit


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    • Marcado como Resposta renatux sexta-feira, 15 de janeiro de 2010 16:58
    sexta-feira, 15 de janeiro de 2010 13:22
  • Tentei executar  no prompt pelo cscript.exe e deu o seguinte erro:

    limpa-scanv02.vbs(21, 16) Erro de tempo de execução do Microsoft VBScript: Permissão negada
    Verifiquei as permissões do diretório e estão Ok. Por desencargo de consciência eu dei permissão total para Todos.

    A linha que ele está referênciando como errada é:

    objFSO.Deletefile strPasta & myfiles.name

    Obrigado !


    sexta-feira, 15 de janeiro de 2010 13:49
  • Olá,

    É erro de permissão no arquivo.... talvez ele esteja sendo usado.


    Coloque na primeira linha do script :

    on error resume next


    Isso deve resolver o problema com os arquivos abertos ou permissão.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    sexta-feira, 15 de janeiro de 2010 14:02