none
script para apagar arquivos de uma pasta criados antes de 10 minutos RRS feed

  • Pergunta

  • Boa tarde.

    Vi alguns scripts no forum mais nao coseguir colocar eles da maneira que preciso:

    preciso de um script que apaque os arquivos da pasta c:\teste\ que foram criandos antes de 10 minutos da execução do script, so deixar na pasta os arquivos que tiverem menos de 10 minutos que foram criados na pasta.

    desde ja muito obrigado

    quinta-feira, 19 de abril de 2012 17:23

Respostas

  • Cara tenta isto aqui:

    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each file in folder.files
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     file.delete
     end if
    next

    Nesse caso ele vai na pasta descrita acima e apaga tudo que tiver superior à quantidade de minutos que escolher.
    Muito cuidado.

     Agora, tem um detalhe se existirem subpastas será necessário utilizar um outro script:

    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each subp in folder.subfolders
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     subp.delete()
     end if
    next

    Já nesse caso, ele vai apagar arquivos e subpastas.
    Eu recomendo vc fazer um teste.

    Salva o script com a extensão .vbs e adiciona uma tarefa no agendador de tarefas do windows, assim ele será exetudado automaticamente....

    Favor marcar se útil.

    Até...


    Warley

    quinta-feira, 19 de abril de 2012 17:57
  • Meu Caro,

    Não apagou nada? Testei aqui e esta funcionando. Somente uma observação: o codigo acima estava apagando depois de um minuto, segue o codigo corrigido para dez.

     str_Extensions = "tmp,temp"
    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each file in folder.files
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     for each str_Ext in SPLIT(UCASE(str_Extensions),",")
      if RIGHT(UCASE(file.Path),LEN(str_Ext)+10) = "." & str_Ext then
         file.delete
      end if
      exit for
     next 
     end if
    next

    • Marcado como Resposta maykonvial sexta-feira, 27 de abril de 2012 17:00
    sexta-feira, 20 de abril de 2012 22:45

Todas as Respostas

  • Boa tarde.

    Vi alguns scripts no forum mais nao coseguir colocar eles da maneira que preciso:

    preciso de um script que apaque os arquivos da pasta c:\teste\ que foram criandos antes de 10 minutos da execução do script, so deixar na pasta os arquivos que tiverem menos de 10 minutos que foram criados na pasta.

    desde ja muito obrigado


    meu sistema operacional e windows 2003 server, se ajudar em alguma coisa
    quinta-feira, 19 de abril de 2012 17:54
  • Cara tenta isto aqui:

    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each file in folder.files
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     file.delete
     end if
    next

    Nesse caso ele vai na pasta descrita acima e apaga tudo que tiver superior à quantidade de minutos que escolher.
    Muito cuidado.

     Agora, tem um detalhe se existirem subpastas será necessário utilizar um outro script:

    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each subp in folder.subfolders
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     subp.delete()
     end if
    next

    Já nesse caso, ele vai apagar arquivos e subpastas.
    Eu recomendo vc fazer um teste.

    Salva o script com a extensão .vbs e adiciona uma tarefa no agendador de tarefas do windows, assim ele será exetudado automaticamente....

    Favor marcar se útil.

    Até...


    Warley

    quinta-feira, 19 de abril de 2012 17:57
  • Cara tenta isto aqui:

    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each file in folder.files
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     file.delete
     end if
    next

    Nesse caso ele vai na pasta descrita acima e apaga tudo que tiver superior à quantidade de minutos que escolher.
    Muito cuidado.

     Agora, tem um detalhe se existirem subpastas será necessário utilizar um outro script:

    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each subp in folder.subfolders
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     subp.delete()
     end if
    next

    Já nesse caso, ele vai apagar arquivos e subpastas.
    Eu recomendo vc fazer um teste.

    Salva o script com a extensão .vbs e adiciona uma tarefa no agendador de tarefas do windows, assim ele será exetudado automaticamente....

    Favor marcar se útil.

    Até...


    Warley

    tem como eu colocar neste script que postou para ele excluir so um determinada exteção tipo *.tmp

    vai excluir os arquivos *.tmp que estiver na pasta c:\teste\ que foram criando antes dos 10 minutos


    quinta-feira, 19 de abril de 2012 19:01
  • Meu caro,

    Tenta esta modificação do condigo do Warley  Eric

    str_Extensions = "tmp,temp"
    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each file in folder.files
     if (datediff("n",file.datecreated,now)>1) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     for each str_Ext in SPLIT(UCASE(str_Extensions),",")
      if RIGHT(UCASE(file.Path),LEN(str_Ext)+10) = "." & str_Ext then
         file.delete
      end if
      exit for
     next 
     end if
    next

    • Editado Alan_Lopes quinta-feira, 19 de abril de 2012 22:00
    quinta-feira, 19 de abril de 2012 21:58
  • Alan obrigado por tentar me ajudar, mais não deu certo não as modificações sera que vc tem mais alguma ideia
    sexta-feira, 20 de abril de 2012 11:26
  • Meu Caro,

    Não apagou nada? Testei aqui e esta funcionando. Somente uma observação: o codigo acima estava apagando depois de um minuto, segue o codigo corrigido para dez.

     str_Extensions = "tmp,temp"
    set fso = createobject("scripting.filesystemobject")
    set folder = fso.getfolder("c:\teste")  '===> Aqui você coloca o caminho onde estão os arquivos'
    for each file in folder.files
     if (datediff("n",file.datecreated,now)>10) then '===> Aqui o período, nesse caso, arquivos maiores de 10 minutos.'
     for each str_Ext in SPLIT(UCASE(str_Extensions),",")
      if RIGHT(UCASE(file.Path),LEN(str_Ext)+10) = "." & str_Ext then
         file.delete
      end if
      exit for
     next 
     end if
    next

    • Marcado como Resposta maykonvial sexta-feira, 27 de abril de 2012 17:00
    sexta-feira, 20 de abril de 2012 22:45