Umgebungsvariable SystemDrive auslesen

  • Hallo,

    in AutoIT gibt es doch diese schönen Macro's, welche mit @... anfangen.

    Gibt es anstatt

    [autoit]

    $var_system_drive = EnvGet("SystemDrive")

    [/autoit]

    auch ein Macro ? Oder kann man sich selbst so ein Macro bauen ? Wenn ja wie ?

    Gruss Hassan

    Einmal editiert, zuletzt von HassanMullah (21. Oktober 2010 um 10:09)

  • Ja eben das meinte ich ja mit meinem Hinweis.
    Die komplette Liste der Makros liegt dir vor - dort findet sich nicht das was du suchst.
    Da hat sich die Frage ja schon geklärt.

    i2c
    HomeDrive != SystemDrive (das Benutzerverzeichnis kann auf andere Partitionen ausgelagert werden)

  • Makros unterscheiden sich von Variablen dadurch dass Variablen einen festen Wert haben.
    Makros lesen ihren Wert erst beim Aufruf aus. (@HomeDrive liest dann z.B. %HOMEDRIVE% aus und nimmt diesen Wert an).
    Wenn sich der Wert nicht ändert dann nimm doch einfach eine Variable (als Konstante deklariert)
    Ob dann nun ein @ davor steht oder ein $ macht dann keinen Unterschied:

    [autoit]

    Global Const $SYSTEM_DRIVE = EnvGet("SYSTEMDRIVE")
    MsgBox(0,"", $SYSTEM_DRIVE)

    [/autoit]


    Wenn sich der Wert allerdings während des Ausführens ändert dann nimm eine Funktion und lass diesen Wert als Rückgabewert zurückgeben:

    [autoit]

    MsgBox(0, "", SYSTEM_DRIVE())

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

    Func SYSTEM_DRIVE()
    Return EnvGet("SYSTEMDRIVE")
    EndFunc

    [/autoit]