Jump to content
Fórum Script Brasil
  • 0

Utilizar variável %userprofile% no VBScript


octavio.rocha

Question

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).

'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.

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...