Hallo,
ich schreibe das erste mal hier im Forum, habe mir aber schon ein paar mal über suchen Hilfe geholt. Aber diesmal hat sich nichts aufschlussreiches ergeben.
Also hier mein Problem:
Ich wollte für ein Skript, das alte Dateien ab einem bestimmten Alter löschen soll, eine Logdatei erstellen, damit ich sehen kann, ob es funktioniert. Innerhalb der Schleife, die sich die Dateien "anguckt", schreibt es dann in eine .txt-Datei. Aber nach 254 (bzw. 507) Schleifendurchläufen schreibt er nichts mehr in meine Datei. Hab es mit For ... To und mit While ... WEnd versucht - mit dem gleichen ergebnis.
Hier test-Code:
Spoiler anzeigen
$log = "O:\test\Log.txt"
$text = "Hier läuft eine Schleife..."
For $i = 1 to 500
FileOpen($log, 1)
FileWriteLine($log, $i & " " & $text)
FileClose($log)
Next
Sleep(10000)
[/autoit] [autoit][/autoit] [autoit]FileOpen($log, 1)
FileWriteLine($log, " ")
FileWriteLine($log, $i & " " & $text)
FileClose($log)
$a = 1
while $a <= 1000
FileOpen($log, 1)
FileWriteLine($log, $a & " " & $text)
FileClose($log)
$a += 1
WEnd
Sleep(10000)
[/autoit] [autoit][/autoit] [autoit]FileOpen($log, 1)
FileWriteLine($log, " ")
FileWriteLine($log, $a & " " & $text)
FileClose($log)
Das ergebnis sieht dann so aus:
1 Hier läuft eine Schleife...
[...]
500 Hier läuft eine Schleife...
501 Hier läuft eine Schleife...
1 Hier läuft eine Schleife...
[...]
7 Hier läuft eine Schleife...
Bei der zweiten Schleife ist dann bei 7 einfach Schluss, ohne Fehlermelung oder sonstwas...
Wenn ich nur außerhalb der Schleife schreiben lasse, geht die auch gerne 1500 mal durch.
Hat AutoIt Probleme mit Schreiben in Schleifen oder was könnte das sein?
Grüße
kleine_ratte *Quiek*