Bestimmte Anzahl(!!) von Dateien kopieren

  • Folgendes Problem stellt sich für mich als Anfänger dar:

    Ich habe einen Ordner, der insgesamt ca. 32000 (!!!) txt-Dateien enthält. Diese Dateien müßte ich in ein Schnittstellenverzeichnis kopieren. Normalerweise nicht einmal zum Nachdenken.

    Problem dabei ist jedoch, daß nicht mehr als 100 Files aufeinmal hinein kopiert werden sollten da sich die Schnittstelle sonst überfordert fühlt (muß ja auch die tägliche Routine abwickeln).

    So......ich habe jetzt nachgedacht....leider hat sich mein Gehirnschmalz verflüchtigt :wacko:

    Somit stelle ich die Frage an die allwissende Gemeinschaft: Wie stelle ich es an, daß in regelmäßigen Abständen (über einen Task....ist mir schon klar) immer nur 50 Files in dieses Schnittstellenverzeichnis kopiert bzw. gemoved werden. Solange, bis natürlich keine mehr übrig sind ?(

    Bin für jede Hilfe dankbar

    Einmal editiert, zuletzt von superpati (6. April 2009 um 15:21)

  • Hi!

    [autoit]


    $Path = "C:\"
    $Dest = "D:\"

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

    AdlibEnable("_copyfiles", 60000) ; 1 Minute Wartezeit

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

    Func _copyfiles()
    $Search = FileFindFirstFile($Path & "*.txt")

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

    If $Search = -1 Then
    MsgBox(0, "Error", "Alle Dateien wurden Kopiert!")
    Exit
    EndIf

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

    For $i = 1 To 50
    $File = FileFindNextFile($Search)
    If @error Then ExitLoop
    FileCopy($Path & $File, $Dest & $File)
    Next

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

    FileClose($Search)
    EndFunc ;==>_copyfiles

    [/autoit]

    Vllt kann es so ja schon gehen

    Lg,

    Lenny

    Jaja, Moo does the Cow!

  • Probiers mal so..

    Spoiler anzeigen
    [autoit]

    $Path = "C:\"
    $Dest = "D:\"

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

    AdlibEnable("_copyfiles", 60000) ; 1 Minute Wartezeit
    While True
    Sleep(1000)
    WEnd
    Func _copyfiles()
    $Search = FileFindFirstFile($Path & "*.txt")

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

    If $Search = -1 Then
    MsgBox(0, "Error", "Alle Dateien wurden Kopiert!")
    Exit
    EndIf

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

    For $i = 1 To 50
    $File = FileFindNextFile($Search)
    If @error Then ExitLoop
    FileMove($Path & $File, $Dest & $File)
    Next

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

    FileClose($Search)
    EndFunc

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.