Variáveis de Ambiente: detalhe importante

Acabo deresponder uma pergunta no fórum interessantee, sobre variáveis de ambiente. Naquele caso, o usuário queria criar uma variável de ambiente e rodar um programa que usa ela, mas o programa só pegava o valor correto na segunda execução.

Não encontrei nada documentado até agora, mas testes que eu fiz com o script abaixo, que serve justamente para criar variáveis de ambiente no computador, não grava a variável até ser terminado. O script em si é o mesmo que o Laerte criou, mas com um sleep no meio do caminho para atrasar a execução do script. Veja:

Set ObjShell = wscript.createobject("wscript.shell")
Set oEnv = ObjShell.Environment("User")
oEnv("variavel")= "valor da variavel"
Wscript.sleep 1000*10
ObjShell.Run "notepad"

Se você executar, vai ver que, se abrir as propriedades do Meu Computador e procurar pela variável de ambiente, não vai encontrar ela até que o notepad seja aberto e o script termine.

A saída então, nesse caso, foi sugerir criar dois scripts: um com o código principal, e outro que serve somente para gravar a variável de ambiente necessária.

Ao menos, é o que eu posso ajudar até agora... vou checar isso

 

Até mais,

Vinicius Canto

Categorias dessa postagem:

Comentários

Unknown : Ola Viniciu otima matéria vc poderia me ajudar estou quase com o mesmo problema,

Preciso pegar uma variavel de ambiente, no caso ja esta declarada)
e colocar em um SQLCMD fica mais ou menos assim,

Set fso = CreateObject("Scripting.FileSystemObject")
Set objFile=fso.GetFile("C:\Arquivos de programas\Microsoft Sql

Server\MSSQL.1\MSSQL\DATA\TldPos_Data.MDF")
intTamanhoDoArquivo=objFile.Size

if intTamanhoDoArquivo < 1610612736 then

Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set objEnvironment = WshShell.Environment
STRVAR=objEnvironment.Item("SIGLA")

WshShell.Run("SQLCMD -S STRVAR-FCOSSA\SQLEXPRESS -i

C:\Store\Box_In\Clean_Table_Tldpos.SQL")


else

end if
Wscript.Quit

Resumindo é o seguinte, verifico o tamanho de um MDF depois pego a variavel de ambiente para fazer uma conexão com o sql express
Sera que conegue me ajudar

Obrigado

Cossa [24/6/09 18:23 - link]