© TRAC Optische Computer Sensorik, Stuttgart 2002, em@il: trac@n.zgs.de
|
|
---|---|
WScript |
CScript |
c:\>cscript //H:cscript
c:\>cscript //H:wscript
Einfache Scripts können in VBS- Dateien abgelegt werden. Vorteil ist ein einfacher Quelltext ohne xml- Schnickschnack. Nachteil ist, das keine Quelltextbibliotheken eingebunden werden können.
Eine WSF- Datei ist eine XML Datei mit folgender DTD:
<!ELEMENT package (job+)> <!ATTLIST package id CDATA #REQIRED> <!ELEMENT job (script+)> <!ATTLIST job id CDATA #REQUIRED> <!ELEMENT script (#PCDATA)> <!ATTLIST script language CDATA #IMPLIED> <!ATTLIST script src CDATA #IMPLIED>
Bspiel:
<?xml version="1.0"?> <package id="Name_des_Package"> <job id="1"> <script language="VBScript"> <![CDATA[ WScript.Echo "Hallo Welt" ]]> </script> </job> <job id="2"> <script language="VBScript"> <![CDATA[ WScript.Echo "Hallo Welt 2" ]]> </script> </job> </package>
Ohne weitere Angaben wird immer der erste Job gestartet. Mittels der Option //Job:<id> von cscript kann ein bestimmter Job gestartet werden:
cscript my.wsf //job:2
Quelltexte können in einen Job über das Attribut src vom Element script eingebunden werden:
<script language="VBScript" src="tools.vbs"> </script>
Kommandozeilenparameter |
|
---|---|
benannte Parameter |
unbenannte Parameter |
/Parametername:Wert |
|
<named name="Name" type="string|boolean|simple" required="true|false" helpstring="Hilfetext" /> |
<unnamed name="Name" many="true|false" required="true|false" helpstring="Hilfetext" /> |
Beispiel
<?xml version="1.0"?> <package id="Name_des_Package"> <job id="1"> <runtime> <named name="p1" required="true" helpstring="p1- Ein benannter Parameter"/> <named name="p2" required="false" helpstring="p2- Parameter mit Wert"/> <unnamed name="p3" required="true" helpstring="p3- iregend ein Text"/> </runtime> <script language="VBScript" src="wsh-tools.vbs"></script> <script language="VBScript"> <![CDATA[ say "Hallo Martin, mal sehen, was Du so alles eingegeben hast:" for each n in WScript.Arguments.Named if isempty(WScript.Arguments.Named.Item(n)) then say(n & "hat keinen Wert") else say(n & "= " & WScript.Arguments.Named.item(n)) end if next ]]> </script> </job> </package>
Eigenschaft |
Beschreibung |
---|---|
Name |
Name des Scripting- Host |
FullName |
Vollständiger Pfad + Name zum Scripting- Host |
Path |
Wie FullName, jedoch ohne Name der Prog- Datei |
ScriptFullName |
Pfad + Name des aktuellen Scripts |
ScriptName |
Name der Scriptdatei |
Version |
Version des aktuell aktiven Scripting Hosts |
WScript.Quit [ERR- Code]
Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.OpenTextFile(pfad as String, [IOMode as IOMode = ForReading], [Create as Boolean = False], [Format as Tristate = TristateFalse])
IOMode |
||
---|---|---|
Symbolische Konstante |
Nummerische Konstante |
Beschreibung |
ForReading |
1 |
Datei lesen |
ForWriting |
2 |
lesen und schreiben |
ForAppending |
8 |
anfügen |
Tristate |
||
---|---|---|
Symbolische Konstante |
Nummerische Konstante |
Beschreibung |
TristateTrue |
-1 |
Unicode- Datei |
TristateFalse |
0 |
ASCII- Datei |
TristateUseDefault |
-2 |
Verwendung der Standardeinstellungen des OS |
file.Close
Lese- und Schreiboperationen |
|
---|---|
Funktion |
Beschreibung |
ReadAll() as String |
Liest komplette Textdatei in einen String ein. |
ReadLine() as String |
Liest eine Zeile aus Datei in String ein |
Read(anz_zeichen as Long) as String |
Liest anz_zeichen aus Datei in einen String ein |
Write(Text as String) |
Kopiert Text in die Datei |
WriteLine(Text as String) |
Kopiert Text in die Datei und fügt einen Zeilenumbruch an |
WriteBlankLines(anz_zeilen as Long) |
Kopiert anz_zeilen Leerzeilen in die Datei |
|
|
---|---|
Funktion/Eigenschaft |
Beschreibung |
AtEndOfLine |
|
AtEndOfFile |
|