Dateien kopieren

  • Zuerst mal ein großes Dankeschön an alle die hier an den Tutorials und ähnlichem mitarbeiten, es macht echt Spaß AutoIT zu lernen und ist durch eure Arbeit auch sehr einfach :)
    Allerdings bin ich jetzt an ein Problem gestoßen, welches ich durch googlen nicht lösen konnte.
    Problem:
    Ich habe einen Ordner mit beliebig vielen Unterordnern und aus diesen Unterordnern möchte ich alle Dateien mit der Endung .avi rauskopieren.

    Idee1:
    Ich lese den Pfad des Ordners ein und benutze dann Filecopy mit Wildcards um an die Dateien ranzukommen.

    [autoit]

    filemove( $Input1 & "\*\*.avi" ,"C:\Filme")

    [/autoit]


    allerdings funktioniert das nicht ganz so wie ich möchte...es funktioniert nämlich gar nicht :P

    Idee2:
    Über eine Schleife durchlaufe ich alle Unterordner und kopiere aus denen die Dateien heraus, allerdings weiß ich nicht genau wie ich durch die Ordner durchmanövriere wenn ich einen Pfad eingebe.

    Für Ideen,Anregungen und Hilfestellungen bin ich sehr dankbar :)
    Gruß Blubb

    Einmal editiert, zuletzt von Blubb (11. Dezember 2012 um 10:16)

  • So nach anfänglichen Schwierigkeiten mit der GUI in Verbindung mit filefindfirstfile hab ichs jetzt zum laufen gebracht.
    Auch wenn es ein sehr spezielles Problem war will ich zukünftigen Suchenden meine Lösung natürlich nicht verwehren

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 263, 88, 192, 124)
    $Eingabe = GUICtrlCreateInput("Eingabe", 8, 8, 249, 21)
    $Ausgabe = GUICtrlCreateInput("Ausgabe", 8, 32, 249, 21)
    $AnzahlGUI = GUICtrlCreateInput("Anzahl", 8, 56, 121, 21)
    $Copy = GUICtrlCreateButton("Copy", 136, 56, 121, 25)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Copy
    ;Initialisierung
    $EingangsPfad = GUICtrlRead($Eingabe)
    $Firstsearch = $EingangsPfad & "\*"
    $AusgangsPfad = GUICtrlRead($Ausgabe)
    $Anzahl = GUICtrlRead($AnzahlGUI)
    $i = 0
    $Datei = FileFindFirstFile($Firstsearch)
    ;Such und Kopiervorgang
    While ($i < $Anzahl)
    $info = FileFindNextFile($Datei)
    MsgBox(0, "1", $info)
    $pfad2 = FileFindFirstFile($EingangsPfad & "\" & $info & "\*.avi")
    $info2 = FileFindNextFile($pfad2)
    MsgBox(0, "2", $info2)
    FileMove($EingangsPfad & "\" & $info & "\" & $info2, $AusgangsPfad)
    $i = $i + 1
    WEnd
    EndSwitch
    WEnd

    [/autoit]


    An dieser Stelle noch einmal vielen Dank an name22 :)

    Einmal editiert, zuletzt von Blubb (10. Dezember 2012 um 19:41)