Schleife - Variable aus Datei

  • Moin, moin,

    ich bin noch ein ziemlicher autoit-Frischling. Ich komme gerade von Batch, aber
    die Möglichkeiten dort sind leider sehr begrenzt!
    Ich brauche sowas wie eine For-Schleife, die eine Variable aus einer externen
    Datei einliest.
    Mit Batch hätte ich das so gelöst:

    Code
    For /F %%a in (text.txt) do (
    irgendeine eingabe
    (

    Ich habe halt mehrere Dokumente die eins nach dem anderen geöffnet und dann bearbeitet werden sollen.
    Die Namen dieser wollte ich dann in "text.txt" schreiben. Oder kann ich das auch ohne separate Datei lösen?

    Hilfe wäre echt superklasse :)

    Die autoit-Hilfe brachte mich leider nicht weiter. Es steht zwar etwas zu dem Thema, verstehen tue ich es aber
    nicht.

    Einmal editiert, zuletzt von Scritch (27. September 2010 um 09:35)

  • Hallo.
    Du kannst es so lösen:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    $Array
    $File = _FileReadToArray("test.txt", $Array)
    For $i = 0 To UBound($Array) - 1
    If StringInStr("Welche Variable soll gefunden werden?", $Array[$i])
    ;Eingabe
    EndIf
    Next

    [/autoit]

    Nach StringInStr kannst du dann den Namen einer Variable angeben.
    Beispiel:
    Du möchtest die Variable $var1 in test.txt finden, die $var1, $var2 und $var3 beinhaltet,
    dann musst du die StringInStr funktion so ändern:

    [autoit]

    StringInStr("$var1", $Array[$i])

    [/autoit]


    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • Viele Dank erstmal für deine Antwort.

    Ich möchte nicht eine bestimmte Variable aus dem Dokument haben,
    sondern eine nach der anderen abarbeiten.

    Das was in der Schleife ist, soll 3 mal, für jede der 3 Dateien,
    abgearbeitet werden.

    Noch was anderes: Wie müssen die Variablen in dem Textdokument hinterlegt
    sein?

  • Eine Variable hat einen Wert, welcher ein Integer oder Flieskommazahl oder ein String sein kann. Als du willst eher nur einen String aus deiner Datei haben?

  • So, habe eine Lösung für mein Problem gefunden. Das wars was ich gesucht habe. Ganz einfach. Danke für deine Hilfe :)

    Code
    For $i = 1 To UBound($Arrayname) -1
       ;Aktion
    Next


    Eigentlich genau das, was PridgeRage geschrieben hat.