FTP Upload Script

  • Guten Abend zusammen.
    Ich versuche nun schon seit zwei Tagen deinen FTP-Uploader in Gang zu kriegen.(Ich nutzte Autoit v3.4.1.) Keine Chance - ich habe so ziemlich jedes Script ausprobiert, dass ich finden konnte, jedoch sind die Beiträge meist schon mehr als zwei Jahre alt.

    Dieses zum Beispiel

    Fehlermeldung:

    Spoiler anzeigen

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\User\Desktop\Uploader\test.au3"
    "C:\Users\User\Desktop\ARBEITSORDNER\Uploader\FTP_Ex.au3" (10) : ==> Can not redeclare a constant.:
    Global Const $GENERIC_READ = 0x80000000
    Global Const ^ ERROR
    >Exit code: 1 Time: 0.4127

    Spoiler anzeigen

    #include <Misc.au3>
    #include "FTP_Ex.au3"
    $serv = "ftp.strato.de"
    $user = "abc.de"
    $pass = "abc"
    $FTP = _FTPOpen("AutoIt v3")
    $FTPServer = _FTPConnect($FTP,$serv,$user,$pass,1)
    ProgressOn("Upload","Uploading file [Cancel with F8]")
    $x = _FTP_UploadProgress($FTPServer, "C:\Users\User\Desktop\ARBEITSORDNER\Uploader\tmp", 'update.ini', "_UpdateParts")
    ProgressSet(100,"Return: " & $x & @CRLF & "Error: " & @error)
    Sleep(2000)
    ProgressOff()
    _FTPClose($FTPServer)
    _FTPClose($FTP)
    Func _UpdateParts($percent)
    ProgressSet($percent,$percent &"%")
    If _IsPressed("77") Then Return 0
    Return 1 ; bei 1 Fortsetzten
    Endfunc

    Nun die Frage. Hat irgend jemand ein Script mit dem ich eine festgelegte Datei auf meinen FTP laden kann?Ich brauche keine Progressbar, aber auch nicht schlimm wenn Sie dabei ist.Danke Tobi

  • Ich versuche nun schon seit zwei Tagen deinen FTP-Uploader in Gang zu kriegen.

    hmmmmm.....

    "C:\Users\User\Desktop\ARBEITSORDNER\Uploader\FTP_Ex.au3" (10) : ==> Can not redeclare a constant.:
    Global Const $GENERIC_READ = 0x80000000
    Global Const ^ ERROR

    Du weißt, was dort steht?!
    Es soll eine bereits zugewiesene Konstante deklariert werden...irgendwo VORHER im Script wurde diese Konstante deklariert, also könnte man diese Zeile einfach löschen.

    Jetzt stellt sich die Frage, WO diese Konstante bereits deklariert wurde.
    #include ist in diesem Fall kontraproduktiv, einfach die Inhalte aller inkludierter Scripte in das Hauptscript kopieren, fertig.
    Da in den inkludierten Scripten wiederum weitere Scripte inkludiert sind, findet sich der "Schuldige" sehr schnell.
    Das dauert allenfalls 2 Minuten und nicht 2 Tage, man braucht keine "andere" AutoItversionen zu installieren, nur um EIN Script lauffähig zu machen uswusf.

    Es stellt sich übrigens die Frage, wieso ein Compiler/Interpreter deklarierte Konstanten mit identischen Inhalten nicht als "Warnung" rauswirft, sondern als Fehler....