Datei (*.exe) Direkt vom FTP ausführen?

  • Hallo Alle zusammen!

    Ich wollte mir ein Skript basteln das meine *.exe daten direkt von meinem ftp server ausgeführt wird ohne das ich die sachen auf meiner platte erst ziehen müsste, wenn ich mit meinem datei menager es ausführe geht es 1A das müsste doch als Skript auch gehen.

    ich habe hier einem Skript der zwar die datei vom ftp server runterladen tut doch ich will es ja nicht sondern das die datei Direkt ausgeführt wird vom FTP Server.

    hier mal das Skript.

    Spoiler anzeigen
    [autoit]

    #include <WinINet.au3>

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

    Dim $user = 'XXXXX'
    Dim $pwd = 'XXXXX'
    Dim $server = 'XXXXX'
    Dim $port = 21
    Dim $searchfile = '/ORCB/ZooBus.exe' ; ABSOLUTERPFAD ZUM DOKUMENT!!!!!

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

    #Region Schritt 1
    ; WinINet Starten
    _WinINet_Startup()

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

    ; Verbindung öffnen
    $InternetOpen = _WinINet_InternetOpen()

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

    ; Verbindung herstellen
    $InternetConnect = _WinINet_InternetConnect($InternetOpen, $INTERNET_SERVICE_FTP, $server, $port, 0, $user, $pwd)
    #EndRegion Schritt 1

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

    #Region Schritt 2
    ; Suchen
    $searchresult = _WinINet_FtpFindFirstFile($InternetConnect,$searchfile)

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

    ; Wenn die Datei gefunden ist, lade sie runter
    If Not @error Then
    _WinINet_FtpGetFile($InternetConnect, $searchfile, 'ZooBus.exe')
    EndIf
    #EndRegion Schritt 2

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

    #Region Schritt 5
    ; Verbindung schliessen
    _WinINet_InternetCloseHandle($InternetConnect)
    _WinINet_InternetCloseHandle($InternetOpen)
    ; WinINet runterfahren
    _WinINet_Shutdown()

    [/autoit]

    doch ich komme da einfach nicht weiter habe schon mit dem befehl "_WinINet_FtpOpenFile" rum versucht doch ich bekomme es einfach nicht hin. bitte um hilfe

    MfG

    Baron

  • wie soll das gehen?
    so oder so musst du die daten laden. du kannst sie nicht auf dem server ausführen.

    I spent 10 minutes reviewing code and thinking "What kind of drugs is this guy on?" before realizing it was something I wrote.

  • Wenn ich mit meinem Directory Opus auf dem FTP Server zugreife und es dann doppel click ausführe geht es ohne das ich es vom Server erst runterladen müsste. Die exe datei die auf dem server liegt ist eine angepasste autoit Skript.

    Gruß Baron

  • Die Daten werde immer erst runtergeladen, und Temporär gespeichert.

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • nein das geht wirklich nicht. die datei müsste dann in deinem nutzerkontext dort ausgeführt werden.
    FTP beinhaltet keine möglichkeit sowas zu machen.
    ein WebOS macht sowas, aber es zeigt dir dann eh nur das resultat an.

    I spent 10 minutes reviewing code and thinking "What kind of drugs is this guy on?" before realizing it was something I wrote.

  • OK habe mal nachgeschaut hast recht, doch wie könnte ich nun es lösen das es als erstes im temp ordner gepackt wird und es ausführt und wieder vom temp ordner wieder entfernt wird.??


    Gruß Baron


    P.s. Schade eigendlich das man es nicht direkt vom FTP server Starten kann, dann macht ja der befehl "_WinINet_FtpOpenFile" doch ihrgendwie kein sin wenn man es sowieso erst runterladen müsste. 8|

  • mach es doch so, das alle daten im verzeichnis und unterhalb dessen nach @windir "\TEMP\prog" geladen werden.
    ein array das die dateien und ordner speichert erstellen lassen und nach beendigung der "prog" ordner gelöscht wird.

    I spent 10 minutes reviewing code and thinking "What kind of drugs is this guy on?" before realizing it was something I wrote.

  • dann muss ich doch bestimmt

    Dieser befehl.

    [autoit]

    _WinINet_FtpGetFile($InternetConnect, $searchfile, 'ZooBus.exe')

    [/autoit]

    in diesem

    [autoit]

    _WinINet_FtpGetFile($InternetConnect, $searchfile, @windir & '\Test\ZooBus.exe')

    [/autoit]

    umbenennen siehe ich das Richtig da ja dieser befehl sonst wie @scriptdir wirkt und es im ordner tut wo es aus gestartet würde.

    Gruß Baron