none
VBS Copiar arquivos data modificada e nome do arquivo RRS feed

  • Pergunta

  • Srs

    Não estou conseguindo fazer um VBS onde eu consiga fazer a seguinte copia

    Exemplo:
    Tenho um diretorio C:\temp e la é gerado os arquivos de backups semanais com o seguinte nome "teste-s-2010-12-04.bk", "teste-s-2010-12-13.bk" e assim durante todo mes, consegui fazer o codigo onde ele verifica a data de modifcação e copia para o diretorio c:\temp2, mas tenho um problema porque também tenho que verificar o nome do arquivo pois se outro arquivo for gerado por ultimo ele vai copiar o arquivo errado, como seria esta linha para tratar o nome do arquivo? segue abaixo meu codigo feito
    OBS.: a unica coisa que não muda do nome do arquivo é  "teste-s-" a data final muda.

     

    strPastaOrigem = "C:\Temp"
    strPastaDestino = "C:\Temp2"

    Set fso = CreateObject("Scripting.FileSystemObject")

    Set Pasta = fso.GetFolder(strPastaOrigem)
    Set Arquivos = Pasta.Files

    dtUltimaData = DateAdd("y",-100,now)
    strUltimoArquivo = ""


    For each Arquivo In Arquivos
     if Arquivo.DateLastModified >= dtUltimaData then
     strUltimoArquivo = Arquivo.Name
     dtUltimaData = Arquivo.DateLastModified

     end if
    next

    'Mover o Arquivo
    if strUltimoArquivo <> "" then fso.CopyFile strPastaOrigem & "\" & strUltimoArquivo ,

    strPastaDestino & "\"

    terça-feira, 14 de dezembro de 2010 19:28

Respostas

  • Everton,

    Basta conferir os 8 primeiros caracteres do nome do arquivo junto com a data de modificação.

    strPastaOrigem = "C:\Temp"
    strPastaDestino = "C:\Temp2"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Pasta = fso.GetFolder(strPastaOrigem)
    Set Arquivos = Pasta.Files
    dtUltimaData = DateAdd("y",-100,now)
    strUltimoArquivo = ""
    
    For each Arquivo In Arquivos
    	if left(Arquivo.name,8)= "teste-s-" AND Arquivo.DateLastModified >= dtUltimaData then
    		strUltimoArquivo = Arquivo.Name
    		dtUltimaData = Arquivo.DateLastModified
    	end if
    next
    'Mover o Arquivo
    if strUltimoArquivo <> "" then fso.CopyFile strPastaOrigem & "\" & strUltimoArquivo ,
    strPastaDestino & "\"

    ---------------------------

    Mutirão de Respostas

    ---------------------------


    Fábio de Paula Junior

    terça-feira, 23 de abril de 2013 13:13
    Moderador