Eintrag zum Windows Path permanent hinzufügen

  • Hallo!

    Kann man mit Hilfe von AutoIt etwas zum Windows Path permanent hinzufügen?

    Wenn ja welche Befehle soll ich mir dazu anschauen, oder hat vielleicht jemand ein paar Zeile Code für mich an denen ich erkennen könnte wie das funktioniert.

    Lg Bow

  • Hallo! Sorry, mein Fehler habe die Frage nicht gut genug gestellt.

    Das mit der Regedit hört sich nach dem richtigen Weg an.

    Was ich erreichen will?

    Code
    set PATH=%PATH%;%~dp0RESOURCES\bin

    -> das ist ein Ausschnitt einer bat Datei. leider funktioniert das nur für das offene Eingabeaufforderungs-Fenster. Sobald ich das Fenster schließe ist die PATH erweiterung weg. Daher habe ich mir gedacht vielleicht gehts ja mit Autoit. Ich will das das was ich da zum Path hinzufüge permanent gespeichert beliebt so als ob ich es händisch hinzugefügt hätte.

    Lg Bow

  • Wie peethebee schon sagte, einfach in der Registry:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path]
    deinen Pfad anfügen.

    Wird vermutlich erst nach einem Neustart wirksam. Aber du kannst zusätzlich noch per EnvGet/EnvSet den Pfad nochmals setzen.

  • Ups, zu spät ...

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $USER_ENVIRONMENT = "HKCU\Environment"

    [/autoit] [autoit][/autoit] [autoit]

    $GLOBAL_ENVIRONMENT = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    RegListKey ($USER_ENVIRONMENT)

    [/autoit] [autoit][/autoit] [autoit]

    RegListKey ($GLOBAL_ENVIRONMENT)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func RegListKey ($keyname)

    [/autoit] [autoit][/autoit] [autoit]

    Local $aKeyList [100][2]

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To 99

    [/autoit] [autoit][/autoit] [autoit]

    $aKeyList[$i][0] = RegEnumVal ($keyname, $i)

    [/autoit] [autoit][/autoit] [autoit]

    If (@error) Then _
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    $aKeyList[$i][1] = RegRead ($keyname, $aKeyList[$i][0])

    [/autoit] [autoit][/autoit] [autoit]

    Next

    [/autoit] [autoit][/autoit] [autoit]

    $aKeyList[0][0] = $i - 1

    [/autoit] [autoit][/autoit] [autoit]

    ReDim $aKeyList [$i][2]

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay ($aKeyList)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    EDIT:
    Und nicht vergessen, ein Neustart ist nötig ...


    Gruß
    Greenhorn