Avatar billede balthazar Nybegynder
19. april 2005 - 15:40 Der er 9 kommentarer og
2 løsninger

Sætte Path (Environment Variable) fra kommandolinie permanent

Som titlen antyder:

Jeg vil gerne tilføje eksempelvis C:\Program Files\MyProgram\bin til Path miljøvariablen, og dette vil jeg gerne gøre fra et bat script. Og det skal gøres så opdateringen er permanent.

Har prøvet at lege lidt med .reg filer til regedit, da jeg fik et tip om at det var den vej jeg skulle gå, men men men Path variablen skal være af typen reg_expand_sz og for at tilføje sådan en skal den være i hex, og jeg kan sgu ikke lige lave ovenstående sti om til hex og da slet ikke så regedit forstår det.

Dette er bare teststadiet, mit ønske er at tilføje den ovenstående sti til den allerede eksisterende Path.

Nogen bud?
Avatar billede jhertel Nybegynder
19. april 2005 - 15:49 #1
Prøv kommandoen setx.exe fra Microsoft:

http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/setx-o.asp

Det er til fri download.
Avatar billede balthazar Nybegynder
19. april 2005 - 15:59 #2
Mjaaa men problemet er at jeg ikke kan forlade mig på at setx eksisterer på det system, jeg skal lave opdateringen på, derfor er jeg nødt til at finde en løsning der ikke forudsætter tilstedeværelsen af andet en absolut standard. (har f.eks ikke setx på min egen XP pro(endnu :-))
Avatar billede jhertel Nybegynder
19. april 2005 - 16:19 #3
Det er svært at lave en on-the-fly-konvertering til hex, hvis ikke du kan antage noget som det system, det skal køre på, andet end at der er en cmd. Kan du antage adgang til wscript? I så fald kan du måske overføre stien til et wscript (.vbs f.eks.), som så kan klare ærterne med at tale med registry. Man har noget større muligheder i wscript (Javascript, VBScript) end i batchfiler.

Jeg ved godt at dette slet ikke er en færdig løsning, men blot en idé til hvordan du kunne komme videre.
Avatar billede balthazar Nybegynder
19. april 2005 - 16:27 #4
Hmmmmmm jeg kan garantere at jeg har noget perl med mig og så vidt jeg husker ligger der noget registry hjælp i perl, måske man skulle prøve med det så.
Avatar billede jhertel Nybegynder
19. april 2005 - 16:36 #5
Hvis det er svært at tale direkte med registry fra Perl, fx fordi du ikke kan antage at de rette moduler er til stede, så kunne du lave noget sjov med at eksportere den pågældende nøgle i registry til en reg-fil og importere den igen efter at have ændret den med lidt strenggymnastik i Perl... Her er i givet fald noget hjælp til hvordan du eksporterer og importerer reg-filer via regedit.exe, som jo findes som standard på systemet:

http://www.robvanderwoude.com/index.html

Pæn er en sådan løsning ikke, men jeg kommer bare med løse ideer - håber det er i orden.
Avatar billede balthazar Nybegynder
19. april 2005 - 16:43 #6
Det er fint nok har fundet Win32::Registry modulet og regner med at jeg kan fixe problemet med det.
Avatar billede jhertel Nybegynder
19. april 2005 - 16:46 #7
Fint. Held og lykke.
Avatar billede Slettet bruger
19. april 2005 - 17:17 #8
Dette vb script kan klare opgaven.
Du skal rette ";C:\Din_Extra_Path" til den sti du skal bruge.


'---------------------------------------------------------------------------------

Dim WshShell
Dim OldPath
Dim ExtraPath

ExtraPath = ";C:\Din_Extra_Path"

Set WshShell = WScript.CreateObject("WScript.Shell")

OldPath = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path")

If InStr(OldPath, ExtraPath) = 0 Then ' Kun hvis stien ikke findes i forvejen.
  WshShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path", OldPath + ExtraPath, "REG_EXPAND_SZ"
End If

'---------------------------------------------------------------------------------

:-)
Avatar billede jhertel Nybegynder
19. april 2005 - 17:29 #9
Smukt!
Avatar billede balthazar Nybegynder
25. april 2005 - 10:17 #10
Well har lavet det i Perl men deler pointene mellem jer, for de fine forslag :-)
Avatar billede jhertel Nybegynder
25. april 2005 - 12:19 #11
Mange tak!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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