none
Criar pasta, copiar arquivo e criar Variável de ambiente RRS feed

  • Pergunta

  • Olá pessoal,

     

    Preciso de uma ajuda para criar o seguinte script .vbs

     

    1º) Verificar se uma pasta existe no C:\, se não existe tem que criá-la;

    2º) Copiar um arquivo do \\servidor\netlogon para esta pasta

    3º) Criar 2 variáveis de ambiente, uma para o perfil do usuário logado e outra para o sistema conforme abaixo:

    Variável: Um nome qualquer

    Valor: Caminho da pasta

     

    A princípio é isto pessoal.

     

    Obrigado,

    segunda-feira, 26 de janeiro de 2009 19:27

Respostas

  • Muito obrigado pelo Post Jesiel... Mas eu já havia conseguido terminar o script que precisava... Falha minha não ter postado antes!!! Desculpe-me... Segue abaixo o que me atendeu 100%... Até mais simples do que enviou, mas valeu...

     

    On Error resume next

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    set WshShell = CreateObject("WScript.Shell")
     
    'Verifica se a pasta existe, caso nao, cria
     If objFSO.FolderExists("C:\TNSNAMES") Then
      echo ""
     Else
      Set objFolder = objFSO.CreateFolder("C:\TNSNAMES")
     End IF

     

    'Copia tnsnames.ora do Server para local
     objFSO.CopyFile "\\dcpr3206\netlogon\TNSNAMES\tnsnames.ora" , "C:\TNSNAMES\"

     

    'Especifica o tipo de varivel ( System, User, Volatile, or Process)
     set VarUser=WshShell.Environment("User")
     set VarSystem=WshShell.Environment("System")
     
    'Adiciona a variavel
     VarUser("TNS_ADMIN") = "C:\TNSNAMES"
     VarSysytem("TNS_ADMIN") = "C:\TNSNAMES"

     

    Abraços

    terça-feira, 27 de janeiro de 2009 17:26

Todas as Respostas

  • Olá Marco,

    Verifique o script abaixo:

    'verifica se a pasta c:\teste existe

    strPasta = "c:\teste\"
    strOrigem = "\\jesiel\compartilhamento\"
    strArq = "arquivo.txt"

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    If objFSO.FolderExists(strPasta) Then
        Set objFolder = objFSO.GetFolder(strPasta)
    Else

        Set objFolder = objFSO.CreateFolder(strPasta) ' SE NAO EXISTIR CRIA A PASTA'
    End If


    'COPIA O ARQUIVO PARA A PASTA C:\TESTE, Primeiro verifica se o arquivo existe se não existir copia.
    Const Sobrescrever = TRUE
    if objFSO.FileExists(strPasta & strArq) Then
    'SE QUISER SUBSTITUIR O ARQUIVO QUE ESTÁ NA PASTA PELO QUE ESTÁ NA REDE, BASTA TIRAR O COMENTARIO DAS DUAS LINHAS ABAIXO
    '    objFSO.DeleteFile(strPasta & strArq)
    '    objFSO.CopyFile strOrigem & strArq , strPasta, OverwriteExisting
    Else
        objFSO.CopyFile strOrigem & strArq , strPasta, OverwriteExisting
    End if


    ' cria as variaveis de ambiente
    'variaveis de usuário
    Set objShell = WScript.CreateObject("WScript.Shell")
    Set colSystemEnvVars = objShell.Environment("User")     
    colSystemEnvVars("VarUser") = "c:\teste2"

    'variaveis de sistema
    Set colSystemEnvVars = objShell.Environment("system")     
    colSystemEnvVars("VarSystem") = "c:\teste2"



    Faça os testes e nos retorne,

    Se útil, classifique.

    Até mais,

    Jesiel
    terça-feira, 27 de janeiro de 2009 16:42
  • Muito obrigado pelo Post Jesiel... Mas eu já havia conseguido terminar o script que precisava... Falha minha não ter postado antes!!! Desculpe-me... Segue abaixo o que me atendeu 100%... Até mais simples do que enviou, mas valeu...

     

    On Error resume next

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    set WshShell = CreateObject("WScript.Shell")
     
    'Verifica se a pasta existe, caso nao, cria
     If objFSO.FolderExists("C:\TNSNAMES") Then
      echo ""
     Else
      Set objFolder = objFSO.CreateFolder("C:\TNSNAMES")
     End IF

     

    'Copia tnsnames.ora do Server para local
     objFSO.CopyFile "\\dcpr3206\netlogon\TNSNAMES\tnsnames.ora" , "C:\TNSNAMES\"

     

    'Especifica o tipo de varivel ( System, User, Volatile, or Process)
     set VarUser=WshShell.Environment("User")
     set VarSystem=WshShell.Environment("System")
     
    'Adiciona a variavel
     VarUser("TNS_ADMIN") = "C:\TNSNAMES"
     VarSysytem("TNS_ADMIN") = "C:\TNSNAMES"

     

    Abraços

    terça-feira, 27 de janeiro de 2009 17:26