Vorheriges Thema: VBScript-Beispiel: WinGetInfo-Skript-InformationenNächstes Thema: PerlScript-Beispiel: WinGetInfoPerl-Skript-Operator


Skript (VBScript)

Das Skript erstellt zwei indizierte Felder (HostList und OSList) im Operatordatensatz "WinGetInfo". Das Skript:

Das Skript füllt die Variable "oArgs.Item" mit den Einträgen im Eingabebereich "Parameter" des aufgerufenen Operators "Skript ausführen" auf. Der erste Eintrag wird mit "oArgs.Item(0)" aufgefüllt. Das Skript weist die Anzahl der gelesenen Zeilen der Operatordatensatzvariable "NumRowsRead" zu. Die Zeile "Wscript.sleep 30000" hält den Operator für 30 Sekunden an, sodass der Anwender die unter dem Speicherort "C2OSVD" erstellten Ordner und Dateien prüfen kann. Die Zeile "Wscript.sleep 30000" wird nicht in ein Produktionsskript aufgenommen.

Dim oArgs
Dim oShell
Dim colProcessEnv
Dim objFSO
Dim objDir
Dim objFileIn
Dim objFileOut
Dim intCounter
Dim intExitCode
Dim strLine
Dim intSpacePos
Dim strHost
Dim strOS
on error resume next
set oArgs = WScript.Arguments
set oShell = WScript.CreateObject("WScript.Shell")
set colProcessEnv = oShell.Environment("Process")
if oArgs.Count = 1 then		'must have the required argument 
				to proceed normally,
				fails if more arguments are present
strSourceFile = oArgs.Item(0)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDir = objFSO.CreateFolder(colProcessEnv("C2OSVD"))
Set objDir = objFSO.CreateFolder(colProcessEnv("C2OSVD") & "\HostList")
Set objDir = objFSO.CreateFolder(colProcessEnv("C2OSVD") & "\OSList")
intCounter = 0
Set objFileIn = objFSO.OpenTextFile(strSourceFile, 1)
Do Until objFileIn.AtEndOfStream
strLine = objFileIn.ReadLine
intSpacePos = InStr(strLine",")
strHost = Left(strLine, intSpacePos - 1)
strOS = Right(strLine, Len(strLine) - intSpacePos)
Set objFileOut = objFSO.CreateTextFile(colProcessEnv("C2OSVD") & "\HostList\" & intCounter)
objFileOut.Write strHost
objFileOut.Close
Set objFileOut = objFSO.CreateTextFile(colProcessEnv("C2OSVD") & "\OSList\" & intCounter)
objFileOut.Write strOS
objFileOut.Close
intCounter = intCounter + 1
Schleife
objFileIn.close
Set objFileOut = objFSO.CreateTextFile(colProcessEnv("C2OSVD") & "\NumRowsRead")
objFileOut.Write intCounter
objFileOut.Close
intExitCode = 0
else
'Wscript.echo "bad argument or required argument NOT present"
intExitCode = 5
end if
Wscript.sleep 30000
on error goto 0
Wscript.Quit intExitCode