FTP Ordner Download mit Process Bar

  • Hallo Zusammen,

    Ich bin seid 2 tagen auf der Suche nach einen Script der via FTP einen Kompletten Ordner mit
    in halt auf der Festplatte C:\ Speichert (Ordner mit namen) und dieser Prozess soll via Process Bar
    angezeigt werden wie weit er schon ist. Kann mir da wer Helfen ?

    Lg

  • _FTP_ProgressDownload sollte ein guter Ausgangspunkt sein.

  • Danke ... Ich nutze jetzt einen anderen script wie bekomme ich es dazu in den ordner C:\ORDNER zu downloaden ?

  • evtl. so? siehe Zeie 23 & 24 und beachte folgendes noch.
    Ordner in den Kopiert werden soll ggf. erst einmal erstellen. Zeile 23.
    HIer ist es nun so, das er jedes mal erstellt wird. Entweder vorher abfragen, ob der Ordner besteht oder nach der Installation den Ordner incl. Inhalt wieder löschen. So wie Du es möchtest/brauchst/es sinnvoll ist.

    Spoiler anzeigen
    [autoit]


    ;#RequireAdmin
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Dragonwrath Downloader", 270, 110, 192, 124)
    $Progress1 = GUICtrlCreateProgress(8, 8, 250, 17)
    $Label1 = GUICtrlCreateLabel("Speed", 115, 32, 35, 37)
    $Button1 = GUICtrlCreateButton("Download", 8, 76, 255, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    MsgBox(0,"","Achtung der Download Prozess kann nicht Gestoppt werden!")
    DirCreate("C:\Ordner")
    _INet_Download("http://downloads.sourceforge.net/sevenzip/7z920.exe","C:\Ordner" & "\dragonwrath.exe",$Progress1,$Label1)
    MsgBox(0,"","Fertig... Jetzt Starte bitte die dragonwrath.exe!")
    Exit(0)
    EndSwitch
    WEnd

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

    ;===============================================================================
    ;
    ; Description: Downloads a file from the internet in the backround, so the script will be continued a. Also
    ; sets Progressbar and Speed. Speed must be a label to set.
    ; Author(s): Burak Kavak
    ; Syntax: _INet_Download($hDownload, $hTitle[, $vProgress, $vSpeed])
    ; Parameter(s):
    ; $hDownload - The URL to download from the internet (required)
    ; $hTitle - The path where to download the file (with filename) (required)
    ; $vProgress - The control ID a progressbar if you want to show the progress from the download (default is 0)
    ; $vSpeed - The control ID of a label where you want to show the KB/s
    ;
    ; Return Value(s):
    ; If the file can't be found - Sets @error to 0
    ; If the downlaod URL is empty - Sets @error to 1
    ; If the title - Sets @error to 2
    ;
    ;===============================================================================
    Func _INet_Download($hDownload, $hTitle, $vProgress = 0, $vSpeed = 0)
    If $hDownload = "" Then
    SetError(2)
    Exit
    EndIf
    If $hTitle = "" Then
    SetError(3)
    Exit
    EndIf
    If $hDownload And $hTitle And $vProgress And $vSpeed <> "" Then
    $hGetFile = InetGet($hDownload, $hTitle,1,1)
    If $hGetFile = 0 Then
    SetError(0)
    Exit
    EndIf
    Sleep(300)
    $vTimer = TimerInit()
    Do
    $hGetProgress = Round((InetGetInfo($hGetFile,0)/InetGetSize($hDownload, 1))*100,0)
    GUICtrlSetData($vProgress, $hGetProgress)
    $hGetSpeed = Round(InetGetInfo($hGetFile, 0)/TimerDiff($vTimer), 0)
    GUICtrlSetData($vSpeed, $hGetSpeed & " KB/s")
    Sleep(200)
    Until InetGetInfo($hGetFile, 2)
    GUICtrlSetData($vProgress, "100")
    EndIf
    If $vProgress And $vSpeed = 0 And $hDownload And $hTitle <> "" Then
    $hGetFile = InetGet($hDownload, $hTitle,1,1)
    If $hGetFile = 0 Then
    SetError(0)
    Exit
    EndIf
    Do
    Sleep(200)
    Until InetGetInfo($hGetFile, 2)
    EndIf
    If $vProgress = 0 And $hDownload And $hTitle And $vSpeed <> "" Then
    $hGetFile = InetGet($hDownload, $hTitle,1,1)
    If $hGetFile = 0 Then
    SetError(0)
    Exit
    EndIf
    Sleep(250)
    $vTimer = TimerInit()
    Do
    $hGetSpeed = Round(InetGetInfo($hGetFile, 0)/TimerDiff($vTimer), 0)
    GUICtrlSetData($vSpeed, $hGetSpeed & " KB/s")
    Sleep(200)
    Until InetGetInfo($hGetFile, 2)
    EndIf
    If $vSpeed = 0 And $hDownload And $hTitle And $vProgress <> "" Then
    $hGetFile = InetGet($hDownload, $hTitle,1,1)
    If $hGetFile = 0 Then
    SetError(0)
    Exit
    EndIf
    Sleep(300)
    Do
    $hGetProgress = Round((InetGetInfo($hGetFile,0)/InetGetSize($hDownload, 1))*100,0)
    GUICtrlSetData($vProgress, $hGetProgress)
    Sleep(200)
    Until InetGetInfo($hGetFile, 2)
    GUICtrlSetData($vProgress, "100")
    EndIf
    EndFunc

    [/autoit]

    nehn???

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl