Ich hab ein kleines Problem.
ich muss 1700 Ascidatein auslesen und in eine Datei einfügen.
( Aus 1700 Dateien will ich eine Datei machen )
Da VBS den Prozesoor sehr stark beansprucht, habe ich mich für die Robot-Script-Sprache AutoIt entschieden.
Es funzt auch alles so, wie es soll, bis auf das, die Datein die ausgelesen werden sollen, unterschiedlich groß sind. (von 10kb bis zu 50MB) Dadurch gibt es probleme mit der Sleep funktion. Je größer die auszulesende Datei ist, desto höher muss der Wert der Sleep Funktion sein. Jetz hab ich aber absolut keine Lust, die Sleep funktion jedesmal manuel hoch- bzw. runter-zusetzen.
Wie kriege ich es hin, das AutoIt die Größe der Datei erkennt, und ich dann eine aufgeteilte Schleife basteln kann, das je nach größe der Datei ein anderer Sleep-Wert verwendet wird...?
Hier mal das listing des Scriptes:
Sleep,2000
SetEnv, iniPath, %A_WORKINGDIR%\\\\read.ini
IniRead, startfile, %iniPath%, All, file
IniWrite,startfile,%inipath%,all,file
SetEnv,edit,notepad
InputBox,name,Mengenangabe,Bitte die Menge der Daten angeben die Ausgelesen werden sollen.
SetEnv,mass,%name%
SetEnv,file,0
main:
Run,%edit%
Sleep,100
Send,^o
WinGetActiveTitle,Untitled - Notepad
Sleep,100
Send,{TAB}
Sleep,100
Send,{DOWN 2}
Sleep,100
Send,{TAB 7}
Sleep,100
Send,^{HOME}{DOWN %file%}{UP}{ENTER}
; counter+1
EnvAdd,file,1
IfEqual,file,%mass%, Goto,msg
WinActivate,Untitled - Notepad
Sleep,100
Send,^a
Sleep,100
Send,^c
Sleep,100
Send, !{F4}
Sleep,100
Run,%edit%
Sleep,100
Send,^o
WinGetActiveTitle,Untitled - Notepad
Sleep,100
Send,Output.txt{ENTER}
Sleep,100
WinActivate,Untitled - Notepad
Send,^{END}
Sleep,10
Send,{ENTER}
Sleep,100
Send,^v
Sleep,100
Send,^s
Sleep,100
Send, !{F4}
Goto,main
Exit:
Exit
msg:
MsgBox,0,Vorgang beendet,Der Vorgang wurde beendet. Es wurden %file% Dateien erfolgreich ausgelesen.
Goto,Exit
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
10kb bis zu 50MB
Wähle doch einefach eine Zeit die auch für die 50MB Datei reicht. Dann dauert die Ausführung allerdings länger. Wenn Du das nur einmalig
machen willst, dann stört dass nicht umbedingt. Willst Du das ganze öfter machen solltest Du lieber ein kompiliertes Programm einsetzen,
dass ist grundsätzlich schneller als ein laufzeitinterpretiertes Script. Das Zusammenführen mit Notepad bringt vermutlich auch nicht gerade den Geschwindigkeitsrausch.
CU Borlander
Wähle doch einefach eine Zeit die auch für die 50MB Datei reicht. Dann dauert die Ausführung allerdings länger. Wenn Du das nur einmalig
machen willst, dann stört dass nicht umbedingt. Willst Du das ganze öfter machen solltest Du lieber ein kompiliertes Programm einsetzen,
dass ist grundsätzlich schneller als ein laufzeitinterpretiertes Script. Das Zusammenführen mit Notepad bringt vermutlich auch nicht gerade den Geschwindigkeitsrausch.
CU Borlander