PfadMacros in "au3.properties" ???

  • Gruß zuvor,

    ich habe da eine Frage zu den "au3.properties" in SciTE.

    Wenn ich in den "au3.properties" für SciTE den Autoitpfad durch @WorkingDir & "\Autoit3" ersetze, nimmt SciTE dann das Macro an, oder muß ich WindowsMacros verwenden, oder passiert dann rein gar nichts ? :irre:

    Ich möchte gern den Autoit3-Pfad in den "au3.properties" auf @WorkingDir setzen, habe jedoch nicht die Möglichkeit bei jedem Programmstart durch ein Script die "au3.properties" zu ändern => brauche also ein Macro oder so was da der Autoit3-Pfad variabel sein soll...


    Greetz


  • Ich möchte diese Zeile ungefähr so anpassen.


    au3.properties
    # SciTE settings for AutoIt v3
    #
    # jos van der Zande jvdzande@yahoo.com
    #

    # *** Specify here your AutoIt program directory ***
    autoit3dir=c:\program files\autoit3
    autoit3dir=@WorkingDir & "\autoit3"

    file.patterns.au3=*.au3
    filter.au3=AutoIt (au3)|*.au3|
    lexer.$(file.patterns.au3)=au3

    # Editor settings
    use.monospaced=1
    save.session=1


    Oder anders gesagt, ich habe SciTE und AutoIt auf einem USB Stick und nun muß ich die au3.properties anpassen, damit SciTE weiß wo \Autoit3 sich befindet.
    Jetzt habe ich aber nicht die Möglichkeit die au3.properties schreibend zu verändern, also beim Start von USB-SciTE & Autoit kann ich nicht per Script, oder wie auch immer, die "autoit3dir=c:\program files\autoit3" umschreiben.

    Meine Frage ist nun kann ich die Zeile bzw. die Pfadangabe irgendwie Laufwerksunabhängig gestalten durch Macros oder so...


    Gruß


  • Bei mir funktioniert es mit der Umgebungsvariable %ProgramFiles%.

    Also so:

    Code
    autoit3dir=%ProgramFiles%\AutoIt3


    Mit AutoIt-Macros brauchst du gar nicht anfangen da es sich hier ja nicht um ein Skript handelt.

    Es sollten aber auch alle anderen Umgebungsvariablen von Windows funktionieren.
    Welche das sind erfährst du am einfachsten wenn du in die Eingabeaufforderung gehst (auf einem vernünftigen Betriebssystem nennt man so was Konsole....) und dort einfach "set" eingibst.
    Dort werden dir dann alle Systemvariablen angezeigt.

    Allerdings heißt das das sich AutoIt im Programme-Verzeichnis im Verzeichnis "AutoIt3" befinden muss.
    Deswegen könnte man auch ein Start-Skript schreiben welches lediglich vor dem Aufruf von Scite noch den Pfad zu AutoIt aus der Registry ausliest (HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt - InstallDir) und in die au3.properties einträgt.
    Außerdem laufen nicht alle AutoIt-Extras unter Scite da sie nicht immer mit Umgebungsvariablen umgehen können (OpenInclude z.B.).

    Hier mal ein Beispiel wie so ein Start-Skript aussehen könnte - einfach in den Scite-Ordner kopieren und von nun an Scite darüber starten:

    [autoit]

    #include <File.au3>

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

    $Reg = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir")

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

    If $Reg = '' Then
    MsgBox(0,"", "Pfad zu AutoIt konnte nicht gefunden werden")
    Else
    _FileWriteToLine('au3.properties', 7, 'autoit3dir=' & $Reg, 1)
    EndIf

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

    Run("SciTe.exe " & $CmdLineRaw)

    [/autoit]

    Einmal editiert, zuletzt von AspirinJunkie (25. Januar 2007 um 09:22)

  • Vielen Dank für die Hilfe, AspirinJunkie, ich werde es mal mit den Windowsvariablen probieren.

    Zitat

    Deswegen könnte man auch ein Start-Skript schreiben welches lediglich vor dem Aufruf von Scite noch den Pfad zu AutoIt aus der Registry ausliest (HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt - InstallDir) und in die au3.properties einträgt.

    Genau das ist das Problem..., ich weiß nicht genau ob ich die Möglichkeit habe die au3,properties zu ändern.
    Mein Arbeitskollege hat ein Tool um Programme zu "virtualisieren", d.h. die Programme werden in eine .exe gepackt und laufen nur im Arbeitsspeicher und müssen nicht auf einen Datenträger entpackt werden.
    Nun weiß ich nicht, ob ich die Dateien in der "Virtual.exe" verändern kann...

    Zitat

    Außerdem laufen nicht alle AutoIt-Extras unter Scite da sie nicht immer mit Umgebungsvariablen umgehen können (OpenInclude z.B.).

    Auf das Problem mit dem \Include Pfad bin ich auch schon gestoßen und habe dafür ein entsprechendes RegWrite-Script geschrieben, genauso für die anderen Registryeinträge.


    Gruß