IniWriteSection

  • Moin leute,

    hab mal wieder ne frage. und zwar:

    Ich will das mein script einen ordner nach datein durchsucht (z.B. *.txt) und diese dann nach dem alphabet in eine ini datei schreibt. doch leider schreibt er sie immer gespiegelt hin (z.B. die datei zottel.txt steht ganz oben und apfel.txt steht ganz unten).

    Spoiler anzeigen
    [autoit]


    $search = FileFindFirstFile("C:\*.mp3")

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

    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    IniWriteSection( "test.ini", "mp3", $file, 100)
    WEnd

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

    Please help

    mfg

    DasBaum

  • ganz ehrlich.. ich hab noch nie mit arrays gearbeitet *sich vor herbeifliegenden steinen duckend*

  • So:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $search = FileFindFirstFile("C:\*.*")
    Dim $files[1]
    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    _ArrayAdd($files,$file)
    WEnd
    For $1 = UBound ($files) - 1 To 0 Step -1
    IniWriteSection( "test.ini", "All", $files[$1], 100)
    Next

    [/autoit]

    mfg. Jam00

    • Offizieller Beitrag

    Wozu eigentlich eine Inidatei?

    So kann man die Datei sogar doppelklicken (Playlist):

    Spoiler anzeigen
    [autoit]


    $sPath = 'c:\'
    $hSearch = FileFindFirstFile($sPath & '*.mp3')
    If $hSearch <> -1 Then
    $hDest = FileOpen(@ScriptDir & '\music.m3u', 2)
    If $hDest <> -1 Then
    While True
    $hFile = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    FileWriteLine($hDest, $sPath & $hFile)
    WEnd
    FileClose($hDest)
    EndIf
    FileClose($hSearch)
    EndIf

    [/autoit]
  • Oder so:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>

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

    Global $aArray, $sFilter = "*.mp3"

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

    $aArray = _FileReadToArray("C:\",$sFilter)
    _FileWriteFromArray("C:\liste.txt",$aArray,1)

    [/autoit]


    noch kürzer:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    _FileWriteFromArray("C:\liste.txt",_FileListToArray("C:\","*.png"),1)

    [/autoit]

    2 Mal editiert, zuletzt von Stilgar (20. März 2009 um 12:57)

  • ich glaub ich sollte mich ernsthaft mal mit arrays auseinandersetzen. ist es auch möglich nicht nur 1nen ordner sondern eine gesamte partition auszulesen? quasi alle *.txt datein auf einer partition

    EDIT:

    [autoit]

    #include <File.au3>
    _FileWriteFromArray("C:\liste.txt",_FileListToArray("C:\","*.png"),1)

    [/autoit]

    Diese Lösung ist die schönste