Skripte von der Kommandozeile starten

Gelegentlich werde ich gefragt, ob sich Skripte nicht auch von der Kommandozeile starten lassen. Die Antwort lautet **Ja**, und zwar schon mit FrameScript Version 4. Ich habe das aktuell mit Version 5 getestet und die Dokumentation dazu stimmt. Sie finden das beschrieben im UsersGuide.pdf unter *Using ElmScript* > *Batch Processing*.

Bei der Installation wird auch im Windows-Verzeichnis ein Programm **RunEslBatch.exe** installiert. Dieser Speicherort erlaubt Ihnen den Aufruf von beliebiger Stelle aus. Der kann z.B. so aussehen:

runeslbatch -f“BatchTest.fsl“ -a“TEST 1″ -a“TEST 2″

Wenn Sie dann im aktuellen Verzeichnis zum Beispiel das folgende Skript haben, werden Ihnen die übergebenen Parameter angezeigt. Das Skript zeigt die zwei möglichen Arten des Zugriffs auf die Parameter:

* das globale Array `Args`
* die globalen Variablen `Arg1`, `Arg2`, usw.

Dies ist eine gute Gelegenheit darauf hinzuweisen, selbstdefinierte Variable immer mit v, lv, gv oder ähnlichen Buchstaben beginnen zu lassen, um keinen Namenskonflikt zu bekommen. Und ganz nebenbei lernen Sie die Funktion Evaluate{} kennen…

//BatchTest.fsl
Set lvString = “;
Loop LoopVar(lvX) InitVal(1) Incr(1)
While(lvX <= Args.Count) Set lvString = lvString + 'Args[' + lvX + ']: ' + Args[lvX] + CharLF; EndLoop Display 'Args[n]:' + CharLF + lvString; Set lvString = ''; Loop LoopVar(lvX) InitVal(1) Incr(1) While(lvX <= Args.Count) Set lvString = lvString + 'Arg' + lvX + ': ' + eUtl.Evaluate{'Arg'+lvX} + CharLF; EndLoop Display 'ArgN:' + CharLF + lvString; Und jetzt steht Ihren weiteren Fortschritten bei der Automation noch weniger im Weg! 🙂

Dieser Beitrag wurde unter Lernen veröffentlicht. Setze ein Lesezeichen auf den Permalink.