Usuário com melhor resposta
Script para Deletar Pasta com determinada terminaçao de nome.

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 ifnext
if Folder.name = "*.tmp" then
Folder.delete true
end if
end sub
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
- Marcado como Resposta Fábio JrModerator terça-feira, 11 de dezembro de 2012 17:57
-
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
- Marcado como Resposta Fábio JrModerator terça-feira, 11 de dezembro de 2012 17:57
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
- Marcado como Resposta Fábio JrModerator terça-feira, 11 de dezembro de 2012 17:57
-
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
- Marcado como Resposta Fábio JrModerator terça-feira, 11 de dezembro de 2012 17:57