none
Copiar arquivo comparando data RRS feed

  • Pergunta

  • PessoALL

    Preciso fazer um script para copiar um arquivo do server para um cliente comparando a data.
    Por exemplo se a data do arquivo do server for maior que a data do arquivo da cliente copia senão deixa com esta.
    Andei procurando mas não achei nada, alguem pode ajudar por favor ? 
    domingo, 15 de fevereiro de 2009 17:37

Respostas

Todas as Respostas

  • Olá,

    Segue o script abaixo:


    'coloque o nome do arquivo
    strArquivo = "arquivo.txt"

    'coloque o caminho da pasta origem
    strOrigem="c:\teste\"

    'coloque o caminho da pasta destino
    strDestino="c:\destino\"


    Set objFSO = CreateObject("Scripting.FileSystemObject")

    set Origem = objFSO.getFile (strOrigem & strArquivo)
    set Destino = objFSO.getFile (strDestino & strArquivo)

    'wscript.echo Origem.path &" " & Origem.dateLastModified
    'wscript.echo Destino.path  & " " & Destino.dateLastModified
    If objFSO.FileExists(strDestino & strArquivo) Then
       if Origem.dateLastModified > Destino.dateLastModified Then
        objFSO.DeleteFile(strDestino & strArquivo)
            objFSO.CopyFile strOrigem & strArquivo , strDestino & strArquivo, OverwriteExisting   
       End if
    Else
       objFSO.CopyFile strOrigem & strArquivo , strDestino & strArquivo, OverwriteExisting   
    End if


    Altere as variaveis e faça os testes,

    Poste os resultados.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    segunda-feira, 16 de fevereiro de 2009 12:46
  • Olá Hermes,

    Funciou o script???

    Poste os resultados.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Hermes Finazzi terça-feira, 17 de fevereiro de 2009 19:41
    terça-feira, 17 de fevereiro de 2009 14:21
  • Jesiel S. Pereira disse:

    Olá Hermes,

    Funciou o script???

    Poste os resultados.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    Excelente Jesiel,
    Obrigado, funcionou certinho... valeu mesmo...
    terça-feira, 17 de fevereiro de 2009 19:42
  • Jesiel,

    Show este script para copia incremental de um arquivo.

    Pergunto:
    . Posso fazer este script incremental verificando pastas ou drives, ao invés de um arquivo?

    Abraços

    Jairo

    quarta-feira, 18 de fevereiro de 2009 03:04
  • Jesiel,

    Cara, estou precisando exatamente deste SCRIPT que voce postou, só que no meu caso deram alguns erros.
    Estou mandando em anexo o print do erro e o código que eu usei. 




    Código:

    'coloque o nome do arquivo
    strArquivo = "TASY.exe"

    'coloque o caminho da pasta origem
    strOrigem="L:\Tasy\Atualizacao"

    'coloque o caminho da pasta destino
    strDestino="C:\Hospital\Tasy"


    Set objFSO = CreateObject("Scripting.FileSystemObject")

    set Origem = objFSO.getFile (strOrigem & strArquivo)
    set Destino = objFSO.getFile (strDestino & strArquivo)

    'wscript.echo Origem.path &" " & Origem.dateLastModified
    'wscript.echo Destino.path  & " " & Destino.dateLastModified
    If objFSO.FileExists(strDestino & strArquivo) Then
       if Origem.dateLastModified > Destino.dateLastModified Then
        objFSO.DeleteFile(strDestino & strArquivo)
            objFSO.CopyFile strOrigem & strArquivo , strDestino & strArquivo, OverwriteExisting   
       End if
    Else
       objFSO.CopyFile strOrigem & strArquivo , strDestino & strArquivo, OverwriteExisting   
    End if

    Erro:

    http://www.fontestavares.net/img/20090225/erro_copiapordata.JPG


    Rodrigo Fontes Tavares - Adm. de Redes UNIMEDSJC - Futuro MCP Exchange 2003
    quarta-feira, 25 de fevereiro de 2009 18:58
  • Olá Rodrigo,

    Tente colocar uma barra no final do caminho das pastas, como abaixo:

    'coloque o caminho da pasta origem
    strOrigem="L:\Tasy\Atualizacao\"

    'coloque o caminho da pasta destino
    strDestino="C:\Hospital\Tasy\"

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    quinta-feira, 26 de fevereiro de 2009 16:39
  • Olá Jairo_M_P,

    Da pra fazer sim... porém temos que usar outras funções.

    Abre um novo Post que vou te ajudar a fazer.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 26 de fevereiro de 2009 16:44
  • Jesiel S. Pereira disse:

    Olá Rodrigo,

    Tente colocar uma barra no final do caminho das pastas, como abaixo:

    'coloque o caminho da pasta origem
    strOrigem="L:\Tasy\Atualizacao\"

    'coloque o caminho da pasta destino
    strDestino="C:\Hospital\Tasy\"

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique



     Jesiel,

    Mais uma vez obrigado, funcionou com a \ no final das pastas.


    Rodrigo Fontes Tavares - Adm. de Redes UNIMEDSJC - Futuro MCP Exchange 2003
    quinta-feira, 26 de fevereiro de 2009 20:45
  • Amigos,

     

    tentei usar o script para uma DTS que importa o arquivo de um diretorio para o outro, porém preciso que seja com a data atual, ou ultimo arquivo disponibilizado.Ele informou que não foi encontrado o arquivo, onde pode estar o erro.Abaixo o script alterado:

     

    Function Main()



        Main = DTSTaskExecResult_Success
    'coloque o nome do arquivo
    strArquivo = "CONTROLE_*.gz"

    'coloque o caminho da pasta origem
    strorigem = "L:\CONTROL"

    'coloque o caminho da pasta destino
    strDestino = "c:\12\"


    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set Origem = objFSO.getFile(strorigem & strArquivo)
    Set Destino = objFSO.getFile(strDestino & strArquivo)
    'wscript.echo Origem.path &" " & Origem.dateLastModified
    'wscript.echo Destino.path  & " " & Destino.dateLastModified
    If objFSO.FileExists(strDestino & strArquivo) Then
       If Origem.dateLastModified = Destino.dateLastModified Then
        objFSO.DeleteFile (strDestino & strArquivo)
            objFSO.CopyFile strorigem & strArquivo, strDestino & strArquivo, OverwriteExisting
       End If
    Else
       objFSO.CopyFile strorigem & strArquivo, strDestino & strArquivo, OverwriteExisting
    End If
    End Function

     

    Obrigado

    terça-feira, 24 de janeiro de 2012 17:48
  • Adicione uma barra no final do nome do diretório

    strorigem = "L:\CONTROL"

    assim

    strorigem = "L:\CONTROL\"


    Fábio de Paula Junior
    terça-feira, 24 de janeiro de 2012 18:57
    Moderador
  • Amigo,

    Funcionou 100% esse script, porém preciso que após a comparação do arquivo (.exe) ele abra para o usuário.

    Se alguém souber como fazer isso, agradeço!!

    Vlw!

    Douglas.

    sexta-feira, 26 de outubro de 2012 18:30