Avatar billede leif Seniormester
13. september 2005 - 10:29 Der er 9 kommentarer og
1 løsning

Lav en SET kommando

Hej,

Jeg skal i forbindelse med et login script på vores 2003 server sætte så jeg kan trække en variabel ud fx. %123% (Ligesom med %username%).

Har fundet nedenstående kode, men får fejl i linie 3 tegn 1:
dim WshSell
set WshShell=WScript.CreateObject("wscript.shell")
WshShell.Run "SET 123=blahblah", 1, True

Hvorfor ?

Fra
Leif
Avatar billede kjulius Novice
17. september 2005 - 22:31 #1
Måske er det fordi din første linie Dim'er en variabel WshSell, mens din Set bruger WshShell?
Avatar billede leif Seniormester
21. september 2005 - 09:56 #2
Ja, hvad vil du gøre ?
Avatar billede kjulius Novice
21. september 2005 - 19:23 #3
Jeg ville bruge det samme navn (WshSell <> WshShell)?
Avatar billede kjulius Novice
21. september 2005 - 20:06 #4
Kunne også være, at du skal bruge formen:

Returncode = WshShell.Run "SET 123=blahblah", 1, True

Da du har sat bWaitOnReturn til True, returneres en evt. error code, som det kaldte program måtte generere.

Ref.: http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/wsh/htm/wsMthRun.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsmthrun.asp
Avatar billede kjulius Novice
21. september 2005 - 20:38 #5
Returncode = WshShell.Run("SET 123=blahblah", 1, True)
Avatar billede leif Seniormester
22. september 2005 - 08:48 #6
Jeg får bare den angivne fil ikke fundet.
Avatar billede leif Seniormester
01. oktober 2005 - 13:34 #7
Fik det aldrig til at virke.
Avatar billede leif Seniormester
01. oktober 2005 - 13:35 #8
Har du en god idé til hvordan opretter jeg gerne et nyt spørgsmål.
Avatar billede tfa_dk Nybegynder
07. november 2005 - 22:48 #9
Jeg har samme problem og modtaget denne stump kode.

strUserVariable = "Variablename"
strUserValue = "SomeThing"

Set objShell = WScript.CreateObject("WScript.Shell")
Set colUsrEnvVars = objShell.Environment("USER")
colUsrEnvVars(strUserVariable) = strUserValue
Avatar billede tfa_dk Nybegynder
07. november 2005 - 23:28 #10
Nu har jeg rodet lidt og fundet ud af at man kan lave en fil f.eks setenv.vbs med dette indhold

Set objArgs = WScript.Arguments
if objArgs.Count = 2 then
  strUserVariable = objArgs(0)
  strUserValue = objArgs(1)
  Set objShell = WScript.CreateObject("WScript.Shell")
  Set colUsrEnvVars = objShell.Environment("USER")
  colUsrEnvVars(strUserVariable) = strUserValue
end if

og så skrive: setenv snavn "Navn med blanke i"

Eneste problem er at det kun virker for nye cmd'er ikke den man kørte setenv i. Men pyt til det formål har man jo stadig set.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester