none
Adicionar Valor Variavel Path Windows RRS feed

  • Pergunta

  • Ola Pessoal,

    Dei uma procurada mas não encontrei nada parecido. Estou precisando de um script que verifique se existe um determinado valor na variavel de ambiente Path do Windows para máquina e caso não tenha, incluir um determinado valor no final. Se existir este valor não realizar nenhum procedimento.

    Será que alguem poderia me ajudar ou auxiliar?

    Muito Obrigado
    Jeferson
    sexta-feira, 2 de outubro de 2009 18:35

Respostas

  • Olá,

    Verifique o exemplo abaixo:




    Set objShell = WScript.CreateObject("WScript.Shell")
    Set colSystemEnvVars = objShell.Environment("process")  

    strVariavel = "PATH"

    strValor = "c:\teste"


    strPath = colSystemEnvVars(strVariavel)



    if instr(UCASE(strPath),UCASE(strValor)) > 0 Then
       wscript.echo "Já existe a variavel"

    Else
       Set colSystemEnvVars = objShell.Environment("User")     
       colSystemEnvVars(strVariavel) = strPath & ";" & strValor
       wscript.echo "Variavel criada com sucesso"

    End if




    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    sábado, 3 de outubro de 2009 20:03

Todas as Respostas

  • Olá,

    Verifique o exemplo abaixo:


         Set objShell = WScript.CreateObject("WScript.Shell")
         Set colSystemEnvVars = objShell.Environment("User")     
         colSystemEnvVars("Variavel") = "c:\teste2"

         Set colSystemEnvVars = objShell.Environment("system")     
         colSystemEnvVars("Variavel") = "c:\teste2"


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    sexta-feira, 2 de outubro de 2009 20:11
  • Olá,

    Verifique o exemplo abaixo:


         Set objShell = WScript.CreateObject("WScript.Shell")
         Set colSystemEnvVars = objShell.Environment("User")     
         colSystemEnvVars("Variavel") = "c:\teste2"

         Set colSystemEnvVars = objShell.Environment("system")     
         colSystemEnvVars("Variavel") = "c:\teste2"


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    Ola Jesiel,

    É quase isto que eu gostaria, porem desta forma ele substitui o conteudo da variavel Path para o valor que estou colocando. Eu quero é somente que o valor seja adicionado, mantendo o conteudo já existente na variavel Path. E caso já tenha sido adicionado ele não realize a inclusao novamente, para não ocorrer duplicidade.

    Obrigado


    sábado, 3 de outubro de 2009 09:44
  • Olá,

    Verifique o exemplo abaixo:




    Set objShell = WScript.CreateObject("WScript.Shell")
    Set colSystemEnvVars = objShell.Environment("process")  

    strVariavel = "PATH"

    strValor = "c:\teste"


    strPath = colSystemEnvVars(strVariavel)



    if instr(UCASE(strPath),UCASE(strValor)) > 0 Then
       wscript.echo "Já existe a variavel"

    Else
       Set colSystemEnvVars = objShell.Environment("User")     
       colSystemEnvVars(strVariavel) = strPath & ";" & strValor
       wscript.echo "Variavel criada com sucesso"

    End if




    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    sábado, 3 de outubro de 2009 20:03
  • Olá,

    Funcionou como você precisava?



    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quinta-feira, 8 de outubro de 2009 18:01
  • Ola Jesiel,

    Funcionou sim, era isto que eu precisava muito obrigado mesmo.

    Agora se não for pedir de mais, será que você poderia me mostrar como realizar um update ou replace de algum valor na variavel Path ?
    quinta-feira, 8 de outubro de 2009 18:46
  • Olá,


    É só alterar o valor da variavel strPath

    Se quer fazer um replace, altere a linha:

    colSystemEnvVars(strVariavel) = strPath & ";" & strValor

    Para:

    colSystemEnvVars(strVariavel) =  strValor


    Até mais,

    Jesiel

    Obs.: Se útil, classifique



    quinta-feira, 8 de outubro de 2009 20:04