Probleme mit Run bzw Shellexecute

  • Hallo liebe Autoit-Bastlerfreunde,

    ich hab eine Anwendung in PHP geschrieben, die einen Webserver benötigt. Dieser soll local laufen, damit das ganze auch local läuft. Danach soll dann einfach der Browser mit Startseite zur Anwendung geöffnet werden.

    Dafür hab ich folgendes Script benutzt

    [autoit]

    Run("xampp/xampp_start.exe");sleep(10000);Run("FirefoxPortable/FirefoxPortable.exe", "", @SW_MAXIMIZE);

    [/autoit]

    Das Starten des Firefox ist kein Problem. Wenn ich die xampp.exe händig ausführe klappt alles, per script tritt folgender Fehler auf:

    Problem:
    [Blockierte Grafik: http://www.imgwelt.de/uploads/5FB4F7D7A3G.jpg]

    Ähnliches passiert auch, wenn ich die Batch Dateien, welche gleichen Zweck erfüllen, mit ShellExecute starte:
    [Blockierte Grafik: http://www.imgwelt.de/uploads/6LCAJ4H7370.jpg]

    Wie gesagt händig funzt alles nur per Script nicht?!

    Kann sich das jemand erklären?

    Vielen Dank schonmal im Vorraus :)

    greetz Joe

  • ich habe auch ein problem mit shellexecute:

    folgende meldung bekomm ich immer:

    Code
    C:\Documents and Settings\Zensiert\Desktop\Printer\Test.au3(138,114) : ERROR: syntax error (illegal character)
    	ShellExecute ("\\Zensiert\Zensiert\Group\Public\Printers\" & $n & " Obergeschoss\" & $ort & "\" & $FileList[1]"
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  • Die Klammer ist in deinem Codebeispiel nicht geschlossen, aber bitte mache dafür einen neuen Thread, falls da nicht der Fehler ist.

  • Hi daflowjoe,
    ergänze die Anweisungszeilen um die fehlenden LW- bzw. Ordnerzeichen auf komplette Pfade.
    Außerdem kannst du nach jeder Anweisung mit

    [autoit]

    MsgBox(0, "Arbeitsverzeichnis", @WorkingDir)

    [/autoit]

    das gerade benutzte Verzeichnis ausgeben lassen.
    Ggfls. mußt du es jeweils mit

    [autoit]

    FileChangeDir ( "Verzeichnis" )

    [/autoit]

    vor der nächsten Anweisung ändern.

    Gruß
    Westi

  • Hallo, danke für die Antwort.

    Allerdings verstehe ich nicht ganz, wie du das meinst. Könntest du vielleicht ein Codebeispiel anhand meiner Anwendung aufzeigen bzw es nochmal genauer erläutern?

    Danke. :)

    lg Joe

  • xampp_control braucht wohl das Arbeitsverzeichnis, z.B. so:

    [autoit]

    Run(@ScriptDir & "\xampp/xampp_start.exe",@ScriptDir & "\xampp")

    [/autoit]
  • Nur Verzeichnis anzeigen/kontrollieren:

    Spoiler anzeigen
    [autoit]

    MsgBox(0, "aktuelles Verzeichnis VOR xampp", @WorkingDir)
    Run("xampp/xampp_start.exe")
    MsgBox(0, "aktuelles Verzeichnis NACH xampp", @WorkingDir)
    sleep(10000)
    Run("FirefoxPortable/FirefoxPortable.exe", "", @SW_MAXIMIZE)
    MsgBox(0, "aktuelles Verzeichnis NACH ff", @WorkingDir)

    [/autoit]


    Verzeichnis vorher wechseln:

    Spoiler anzeigen
    [autoit]

    FileChangeDir ( "?:\xampp" )
    Run("xampp_start.exe")
    sleep(10000)
    FileChangeDir ( "?:\FirefoxPortable" )
    Run("FirefoxPortable.exe", "", @SW_MAXIMIZE)

    [/autoit]

    Gruß
    Westi

  • Danke euch alle beide! xampp brauche wirklich nur das Arbeitsverzeichnis! Mir war noch nie bewusst, dass das unabhängig vom eigentlichen Dateipfad mitgegeben wird.

    Also thx :)