hilfe bei for-each bzw. for in autoit

  • Hallo,
    ich habe ein Script erstellt, dass alle Dateien aus @scriptfullpath, also auch sich selbst in C:\ kopiert, leider weiß ich nicht, wie ich dass hinbkommen soll,dass alle Dateien einbezogen werden ohne dass man den namen kennt.
    Bei anderen Programmiersprachen geht dies mit eine For bzw For-each schleife. leider weiß ich nicht wie dies bei autoit funktioniert.
    Mein Script sieht bis jetzt so aus:

    [autoit]

    for $datei In @ScriptFullPath
    $datei2=FileRead($datei)
    FileWrite("C:\"&$datei,$datei2)

    [/autoit]


    Da erschein aber immer die Fehlermeldung, dass For kein Next hat.
    Kann mir Vielleicht jemand helfen?
    Oder auch so, dass der Pfad nicht unbedingt @scriptfullpath sein muss?

    • Offizieller Beitrag

    Das wird so auch nicht Funktionieren , mußt die Dateinamen doch erst mal einlesen damit du drauf zugreifen kannst . Schau dir mal in der Hilfe FileFindFirstFile an und die Hilfe dazu .

    Edit schau dir mal das Script von BugFix an Dateien / Ordner rekursiv lesen das könnte auch für dich interessant sein .

  • ^^... sry das ich jetzt schmunzle aber ist irgendwie eine logische schlussfolgerung :D

    For in geht nur bei objekten etc ;)

    Nimm entweder die Funktion _FileListToArray oder die Funktionen FileFindFirstFile und FileFindNextFile

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    $FileList=_FileListToArray(@ScriptFullPath)
    for $1=1 to ubound($filelist,1) -1
    filecopy(filelist[$1][0])
    next

    [/autoit]


    vermutlich wäre ein dircopy(@ScriptFullPath,"Ziel") ohne viel Firlefanz passender :?:

    und so abwegig war das gar nicht ;) Linux Shell ist toll und platzsparend :rofl:

    [autoit]

    #!/bin/bash
    for list in `ls /root/*` ;do
    echo $list
    done

    [/autoit]

    Achtung Anfänger! :whistling:

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

    2 Mal editiert, zuletzt von Dietmar (18. Januar 2009 um 11:55)