Espero que não seja repost esse tópico, fiz uma pesquisa rápida e não encontrei nada relacionado. Caso seja repost, por favor apenas apontem o tópico que contem a dúvida resolvida.
Vamos à situação:
Eu preciso de um script para comparar dois arquivos e copiar o de origem (na rede), caso ele seja mais novo, sobrescrevendo o de destino.
Fuçando na web achei o código que vou postar logo abaixo, até aí tudo bem, ele compara e copia sem problemas, desde que eu use como destino um caminho absoluto (C:\users\shimpato yamazaki\), porém eu preciso que ele utilize como destino a variável de ambiente %USERPROFILE%, assim fica um único código para todos os usuários que fizerem logon, em qualquer computador (vou colocar o script numa gpo).
'Nome do arquivo a ser comparado e copiado
strArquivo = "gestao.exe"
'Pasta origem do arquivo
strOrigem="C:\teste\"
'Pasta destino do arquivo
Dim WshS
Set WshS = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
'Expand Environment
usrProfile = WshS.ExpandEnvironmentStrings("%UserProfile%")
set objFSO = CreateObject("Scripting.FileSystemObject")
set Origem = objFSO.getFile (strOrigem & strArquivo)
set Destino = objFSO.getFile (usrProfile & 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
Da forma como está o código acima, quando executo ele dá erro na linha 17 - Caract.: 1 - Arquivo não encontrado - Código: 800A0035.
Se entendi bem, ele não está justamente chegando até o USERPROFILE, por isso dá que não existe.
Agradeço qualquer ajuda.. e desculpem pelo post longo.
Question
octavio.rocha
Boa tarde, pessoal do fórum.
Espero que não seja repost esse tópico, fiz uma pesquisa rápida e não encontrei nada relacionado. Caso seja repost, por favor apenas apontem o tópico que contem a dúvida resolvida.
Vamos à situação:
Eu preciso de um script para comparar dois arquivos e copiar o de origem (na rede), caso ele seja mais novo, sobrescrevendo o de destino.
Fuçando na web achei o código que vou postar logo abaixo, até aí tudo bem, ele compara e copia sem problemas, desde que eu use como destino um caminho absoluto (C:\users\shimpato yamazaki\), porém eu preciso que ele utilize como destino a variável de ambiente %USERPROFILE%, assim fica um único código para todos os usuários que fizerem logon, em qualquer computador (vou colocar o script numa gpo).
Da forma como está o código acima, quando executo ele dá erro na linha 17 - Caract.: 1 - Arquivo não encontrado - Código: 800A0035.
Se entendi bem, ele não está justamente chegando até o USERPROFILE, por isso dá que não existe.
Agradeço qualquer ajuda.. e desculpem pelo post longo.
Obrigado.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.