Bestimmte ordner kopieren

  • Hallo
    Meine Programm soll automatisch alle Unterordner die sich im ausgewähltem Ordner befinden, ausgenommen die Ordner Data und Resouces, auswählen und sie in ein neues Verzeichnis kopieren. Bereits vorhandene Dateien sollen dabei ohne Rückfrage überschrieben werden.
    Die genaue Anzahl und Namen der zu kopierenden Ordner ist dabei unbekannt.
    Gibt es da eine Funktion wie z.b: FileFindFirstFile FileFindNextFile mit der man auch Order finden kann?


    Edit: Was Ich noch vergessen hab zu erwähnen: In dem Ordner liegen noch verschiedenne Dateien( .exe .txt etc) diese dürfen nicht kopiert werden , nur die Unterordner

    2 Mal editiert, zuletzt von hanswurst (2. Juni 2008 um 13:58)

  • Liste ermitteln

    Schleife mit file_copy für jedes Item und bei den besonderen Ordnern nix tun

    [autoit]

    for $i to item[0]

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

    if $item[$i] = "besonderer Ordner1" or "besonderer Ordner2" then

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

    sleep(1) ; tu nix

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

    else

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

    filecopy $pfad & $item[$i] to $destdir

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

    endif
    Next

    [/autoit]

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Was Ich noch vergessen hab zu erwähnen: In dem Ordner liegen noch verschiedenne Dateien( .exe .txt etc) diese dürfen nicht kopiert werden , nur die Unterordner

  • Mit FileListToArray Flag 1 (soweit ich mich erinnern kann) werden dir nur die Unterordner ins array gelistet.

    Dann einfach

    [autoit]


    for $x =1 to $array[0]
    if not $array[$x] = ("böserOrdner") then filecopy("c:\quellpfad\"&$array[$x],"c:\zielpfad\"&$array[$x],1)
    next

    [/autoit]

    2 Mal editiert, zuletzt von Vollnoob (2. Juni 2008 um 12:45)

  • Hat sich grad ergeben das ich die Funktion nun doch nicht mehr benötige.
    aber trotzdem danke für eure Mühe