none
Script para apagar pastas de um diretorio temporario no File Server RRS feed

  • Pergunta

  • pessoal boa tarde

    Gostaria de saber se voces tem algum script pronto para apagar pastas de um diretotorio temporario do meu File Server???

    Ele sera limpo todos os sabados (Isso u faço uma task e ja era..)

    Me ajudem PLS
    quarta-feira, 20 de maio de 2009 19:15

Respostas

  • Olá,

    O script está fazendo exatamente o script que te passei.
    Com o detalhe de apagar arquivos também e não somente as pastas como você tinha falado no primeiro post.

    Mas, segue ele alterado para apagar todos:


    strPasta="C:\teste"

    set FSo = CreateObject("Scripting.FileSystemObject")

    Apagar_Arquivos(strPasta)

     

    Sub Apagar_Arquivos(Pasta)

     set folder = FSO.getFolder (Pasta)


     'Verifica se tem subpastas
     if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       Apagar_Arquivos SubFolder
      next
     end if


     for each file in folder.files
       File.delete
    next


     if folder.Subfolders.count = 0 and folder.files.count=0 and Folder.Path<>strPasta then
      Folder.delete true
     end if

    end sub


    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Rodrigo Dalaqua quinta-feira, 21 de maio de 2009 12:31
    quinta-feira, 21 de maio de 2009 12:01

Todas as Respostas

  • Olá,

    É somente as pastas???

    Se sim, segue o script:

    strPasta="C:\teste\"

    set FSo = CreateObject("Scripting.FileSystemObject")
    RenPasta(strPasta)

    Sub RenPasta(Pasta)

    set folder = FSO.getFolder (Pasta)

    if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       RenPasta SubFolder
       FSO.deleteFolder subfolder.path
      next
    end if

    end sub



    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quarta-feira, 20 de maio de 2009 19:57
  • ola jesiel  tudo bem ..

    Entao é somentes as pastas que estao dentro de um diretorio chamado temporario ..

    OBS: Este diretorio tera que permanecer porem o que esta dentro dele nao...

    Este script faz isso...

    Desde ja lhe agradeço
    quarta-feira, 20 de maio de 2009 20:06
  • Olá,

    Faz sim...

    Crie a pasta teste no c:\

    E execute o script primeiro, se for isso que você precisa... aí é só alterar o caminho para a sua pasta na rede.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    quarta-feira, 20 de maio de 2009 20:24
  • ola  Jesiel Criei a pasta no caminho C:\teste\ somente para fazer um testes antes de colocar em podução ,

    Copiei e colei todo o script num arquivo txt renomiei ele para .VBS...

    Inseri alguns arquivos lixos la dentro e executei o VBs, Porem ele nao esta realizando nenhuma alteração no meu server e os arquivos continuam lá...

    Desde ja Agradeço 

    Rodrigo Dalaqua  
    quarta-feira, 20 de maio de 2009 20:48
  • Olá Rodrigo,

    Não entendi direito...

    Você criou a pasta c:\teste e criou algumas pastas e arquivos dentro dela...

    Depois copiou o script e salvou ele como vbs...

    Se você não mexer em nada o script irá apagar as pastas dentro da pasta c:\teste...

    Se estiver tudo OK (funcionou) então.. basta você alterar a variavel strPasta para o caminho do seu servidor.

    Exemplo:

    strPasta="\\servidor\compartilhamento\"

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 21 de maio de 2009 11:16
  • bom dia Jesiel tudo bem


    Peguei num forum do Social este script  e deu certinho apagou todos os arquivos só deixou os arquivos alterados na data de hoje

    strPasta="C:\teste"

    set FSo = CreateObject("Scripting.FileSystemObject")

    Apagar_Arquivos(strPasta)

     

    Sub Apagar_Arquivos(Pasta)

     set folder = FSO.getFolder (Pasta)


     'Verifica se tem subpastas
     if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       Apagar_Arquivos SubFolder
      next
     end if


     for each file in folder.files
      if (dateDiff("d", file.datecreated, now) >0) then
       File.delete
      end if
     next


     if folder.Subfolders.count = 0 and folder.files.count=0 and Folder.Path<>strPasta then
      Folder.delete true
     end if

    end sub

    o mais engraçado é que ele é meio parecido com o seu ......

    Josiel eu consigo fazer com que ele funcione apagando todos os arquivos ao inves de selecionar a qtdade de dias sem alterar....

    Abraços
    e Obrigado ate aqui ...

    quinta-feira, 21 de maio de 2009 11:54
  • Olá,

    O script está fazendo exatamente o script que te passei.
    Com o detalhe de apagar arquivos também e não somente as pastas como você tinha falado no primeiro post.

    Mas, segue ele alterado para apagar todos:


    strPasta="C:\teste"

    set FSo = CreateObject("Scripting.FileSystemObject")

    Apagar_Arquivos(strPasta)

     

    Sub Apagar_Arquivos(Pasta)

     set folder = FSO.getFolder (Pasta)


     'Verifica se tem subpastas
     if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       Apagar_Arquivos SubFolder
      next
     end if


     for each file in folder.files
       File.delete
    next


     if folder.Subfolders.count = 0 and folder.files.count=0 and Folder.Path<>strPasta then
      Folder.delete true
     end if

    end sub


    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Rodrigo Dalaqua quinta-feira, 21 de maio de 2009 12:31
    quinta-feira, 21 de maio de 2009 12:01
  • Jesiel Show de bola...

    Voce é o cara..

    è muito bom ter profissionais que nos ajudem ....

    Muito bommm...

    Nem sei como te agradecer vou marcar como util agora....


    Sds

    Rodrigo Dalaqua

    MCSE+M
    quinta-feira, 21 de maio de 2009 12:31
  • Olá,

    Bacana Rodrigo!!!! Precisando estamos aí...

    Abraços!!!!
    • Sugerido como Resposta benedito segunda-feira, 31 de outubro de 2011 12:15
    quinta-feira, 21 de maio de 2009 12:40
  • Bom dia Jesiel,

    Estou precisando mto de usar o seu script mas não estou conseguindo,

    me diz o que estou fazendo de errado, a pasta onde estou efetuando os

    testes está em C:\Downloads e tem vários arquivos para apagar.

    Detalhe a pasta Downloads não está compartilhada:

    Dá uma olhada:

    strPasta= C:\Downloads

    set FSo = CreateObject("Scripting.FileSystemObject")

    Apagar_Arquivos(str=C:\Downloads)

     

    Sub Apagar_Arquivos(C:\Downloads)

     set folder = FSO.getFolder (C:\Downloads)


     'Verifica se tem subpastas
     if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       Apagar_Arquivos SubFolder
      next
     end if


     for each file in folder.files
       File.delete
    next


     if folder.Subfolders.count = 0 and folder.files.count=0 and Folder.Path<>strPasta then
      Folder.delete true
     end if
    end sub


    Profisional TI
    terça-feira, 27 de julho de 2010 13:47