このスクリプトでは、WinGetInfo オペレータ データセットに HostList と OSList という 2 つのインデックス付きフィールドが作成されます。 スクリプト:
スクリプトにより、oArgs.Item 変数は、呼び出し側のスクリプトを実行オペレータの[パラメータ]入力領域のエントリによって自動入力されます。 最初のエントリは oArgs.Item(0) になります。 スクリプトによって、読み取った行数は、NumRowsRead というオペレータ データセット変数に割り当てられます。 「Wscript.sleep 30000」行は、オペレータを 30 秒間一時停止し、C2OSVD の場所に作成されたフォルダとファイルをユーザが確認できるようにします。 実稼働スクリプトには Wscript.sleep 30000 行は含まれません。
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
Loop
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
|
Copyright © 2013 CA.
All rights reserved.
|
|