none
Script para Deletar Pasta com determinada terminaçao de nome. RRS feed

  • Pergunta

  •  

    Pessoal,

    tenho o seguinte script para deletar pastas, no entanto nao estou conseguindo fazer com que o mesmo

    funcione para deletar algumas pastas com nomenclatura terminada com .tmp

    Exemplo:

    _RM08989898.TMP

     

    EU ja fiz o seguinte script porem nao conseguido amarrar com a nomenclatura final ".TMP" que é o ponto chave para saber qual a pasta a Deletar em um diretorio.

    Estes arquivos sao gerados pelo programa do Terminal Server do nosso ERP.

    Como sou um pouco leigo no assunto, nao ta saindo, entao quem puder me ajudar, ja pesquisei no technet mas nao achei algo que pegue o nome da pasta e compare e sim somente a extensao do arquivo.

    Obrigado.

     

    strPasta="C:\temp"

    set FSo = CreateObject("Scripting.FileSystemObject")

    Apagar_Arquivos(strPasta)

     

    Sub Apagar_Arquivos(Pasta)

     set folder = FSO.getFolder (Pasta)


     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) >2) then
     set objFile = FSO.GetFile(file)
     if FSO.GetExtensionName(objFile) = ".txt" then
       File.delete
     end if

     next

    if Folder.name = "*.tmp" then
      Folder.delete true
     end if


    end sub

    quinta-feira, 28 de agosto de 2008 12:48

Respostas

  • Olá Crhis, blza ?

     

    Primeiro marque o post caso tenha sido util.

     

    Segue abaixo um link que vai te ajudar.

     

    http://www.microsoft.com/technet/scriptcenter/resources/qanda/feb05/hey0211.mspx

     

    Att.

     

    Leonardo Duarte

    sexta-feira, 29 de agosto de 2008 13:13
  • Crhis,

    Seu script está quase certo, nesta parte:

    if Folder.name = "*.tmp" then
        Folder.delete true
    end if

    Não funciona o caracter curinga (*). Você pode fazer assim:

    if right(ucase(Folder.name),3) = "TMP" then
    	wscript.echo Folder.name
    	Folder.delete true
    end if

    Neste caso eu estou pegando os 3 ultimos caracteres do nome da pasta (função right), e também colocando este ultimos caracteres como maiusculos (função ucase).


    Fábio de Paula Junior

    terça-feira, 11 de dezembro de 2012 17:57
    Moderador

Todas as Respostas

  • Olá Crhis, blza ?

     

    Primeiro marque o post caso tenha sido util.

     

    Segue abaixo um link que vai te ajudar.

     

    http://www.microsoft.com/technet/scriptcenter/resources/qanda/feb05/hey0211.mspx

     

    Att.

     

    Leonardo Duarte

    sexta-feira, 29 de agosto de 2008 13:13
  • Crhis,

    Seu script está quase certo, nesta parte:

    if Folder.name = "*.tmp" then
        Folder.delete true
    end if

    Não funciona o caracter curinga (*). Você pode fazer assim:

    if right(ucase(Folder.name),3) = "TMP" then
    	wscript.echo Folder.name
    	Folder.delete true
    end if

    Neste caso eu estou pegando os 3 ultimos caracteres do nome da pasta (função right), e também colocando este ultimos caracteres como maiusculos (função ucase).


    Fábio de Paula Junior

    terça-feira, 11 de dezembro de 2012 17:57
    Moderador