Hallo,
Gibt es eine Möglichkeit über ein Script ( Button ) eine exe. Datei zu starten, ohne deren liegpunkt anzugeben?
Exe. mit Script starten
-
- [ offen ]
-
dr. mo -
22. Januar 2011 um 19:26 -
Geschlossen -
Erledigt
-
-
Wenn du mit "liegepunkt" den vollständigen Pfad zur exe Datei meinst, dann ja ;).
Du müsstest mit einer Funktion wie _RecursiveFileSearch (ich finde den Link nicht merh ^^) o.Ä. nach dem Dateinamen suchen, dann hast du ja den Pfad und kannst die exe z.B. mit Run ausführen. Allerdings müsste dann der Name der exe einmalig sein... -
Also ich habe so eine Funktion nicht gefunden...
Ok, ich kuck mal, ob ich so eine Funktion finde… -
Aha... Ich habe mal nach _RecursivFileSearch gesucht, und das hier gefunden. Hast du überhaupt gesucht oder warst du zu faul dazu?
-
Ich bin mir nicht sicher, ob das das richtige für mein Script ist
Nein, ich habe wirklich gesucht... -
Zitat
Ich bin mir nicht sicher, ob das das richtige für mein Script ist
Und ich bin mir nicht sicher was du überhaupt willst. Ich weiß noch nicht einmal was genau du mit "liegpunkt" meinst. Außerdem habe ich dich bereits darauf hingewiesen, dass du mit deinen Doppelpostings aufhören sollst. Benutze doch einfach den bearbeiten Knopf um deine alten Beiträge zu editieren. -
Eigentlich wollte ich in mein Script einfach einen Button einbauen, der eine exe. startet, am besten ohne den Dateipfad angeben zu müssen….
[autoit]
Ich habe jetzt noch die Funktion namens run gefunden, da scheint man aber den Pfad angeben zu müssen…
Außerdem versteh ich irgendwie nicht ganz wie diese Funktion funktionieren soll, diesen Beispiel Code habe ich gefunden….Run(@WindowsDir & "\Notepad.exe", "", @SW_MAXIMIZE)
[/autoit]Der funktioniert auch so weit, aber als ich \Notepad.exe augetauscht habe hat er schon wieder nicht funktioniert...?
-
Moin.
Wie möchtest Du eine Exe-Datei starten ohne das Du angibst, wo sich diese befindet?
Ansonsten mußt Du erst die Datei suchen lassen und dann starten lassen.
-
Zitat
Der funktioniert auch so weit, aber als ich \Notepad.exe augetauscht habe hat er schon wieder nicht funktioniert...?
Das hängt vermutlich damit zusammen, dass sich die exe die du starten möchtest nicht im @WindowsDir befindet. Wenn du den Pfad der exe nicht hast, dann musst du danach suchen (wie Alina schon gesagt hat). -
ok, hab den Pfad jetzt mal rein geschrieben und dieses windowsDir weg gemacht... jetzt funktionierst....
Danke!
-
Habe noch die Funktion ShellExecute gefunden …. damit funktioniert echt super!
Hier ein kleiner Beispielcode den ich gefunden habe:
[autoit]ShellExecute("Notepad.exe")
[/autoit]Damit funktionierst auch ohne Pfad
-
Funktioniert auch mit Run():
[autoit]Run("Notepad.exe")
[/autoit]
Der Grund warum das funktioniert ist dass wenn kein expliziter Pfad angegeben wird Windows im momentanen Arbeitsverzeichnis des Programmes nach der Datei sucht und dann die in der Umgebungsvariable PATH eingetragenen Pfade (auf der Kommandozeile mit "set path" abfragbar) nach der Datei durchsucht.
C:\Windows (dort wo die notepad.exe liegt) ist dort auch mit eingetragen.
Nur deshalb funktioniert der Aufruf ohne Pfad.
Bei Dateien welche nicht einem Path-Ordner liegen wird das nicht funktionieren. -
Ja, mit run funktionierst mit Notepad ohne den Pfad an zu geben, aber mit ShellExecute funktionierst mit jeder exe.
-
Ja, mit run funktionierst mit Notepad ohne den Pfad an zu geben, aber mit ShellExecute funktionierst mit jeder exe.
Mit Run geht's auch mit jeder .exe. Mit ShellExecute kannst du auch andere Dateien starten.. -
Also bei mir musste ich bei run den ganzen Pfad angeben...