65 lines
1.7 KiB
Plaintext
65 lines
1.7 KiB
Plaintext
|
Dim myshell, filesys
|
||
|
Dim args, pname, pargs, cmdname
|
||
|
Dim logname, loghandler, fline, output
|
||
|
|
||
|
'Ingore the error box to avoid the stop of postscript running
|
||
|
On Error Resume Next
|
||
|
|
||
|
'WScript.echo "get in runpost"
|
||
|
|
||
|
logname = "c:\xcatpost\xcat.log"
|
||
|
|
||
|
'Initialize the shell and fs objects
|
||
|
Set myshell = WScript.createObject("WScript.Shell")
|
||
|
Set filesys = CreateObject("Scripting.FileSystemObject")
|
||
|
|
||
|
'Open the log file for writting
|
||
|
Set loghandler = filesys.OpenTextFile(logname, 8, True)
|
||
|
|
||
|
' Get script name and arguments
|
||
|
Set args = WScript.Arguments
|
||
|
If args.Count <= 0 Then
|
||
|
loghandler.Close
|
||
|
WScript.Quit
|
||
|
ElseIf args.Count = 1 Then
|
||
|
pname = args(0)
|
||
|
pargs = ""
|
||
|
ElseIf args.Count > 1 Then
|
||
|
pname = args(0)
|
||
|
For i = 1 to args.Count - 1
|
||
|
pargs = pargs & " " & args(i)
|
||
|
Next
|
||
|
End If
|
||
|
|
||
|
If Not filesys.FileExists("c:\xcatpost\" & pname) Then
|
||
|
loghandler.WriteLine "Cannot find file: c:\xcatpost\" & pname
|
||
|
loghandler.Close
|
||
|
WScript.Quit
|
||
|
End If
|
||
|
|
||
|
cmdname = "cmd /c "
|
||
|
if Right(pname, 4) = ".bat" Or Right(pname, 4) = ".cmd" Then
|
||
|
cmdname = cmdname & "call "
|
||
|
End If
|
||
|
|
||
|
cmdname = cmdname & " c:\xcatpost\" & pname & " " & pargs
|
||
|
|
||
|
loghandler.WriteLine "=========================================="
|
||
|
loghandler.WriteLine now
|
||
|
loghandler.WriteLine "Run script: " & pname & " " & pargs
|
||
|
|
||
|
'Run command
|
||
|
'WScript.echo cmdname
|
||
|
Set output = myshell.Exec(cmdname)
|
||
|
|
||
|
' Handle the output from the script
|
||
|
Do While Not output.StdOut.AtEndOfStream
|
||
|
fline = output.StdOut.ReadLine()
|
||
|
loghandler.WriteLine fline
|
||
|
Loop
|
||
|
|
||
|
loghandler.WriteLine "The return code is: " & output.ExitCode
|
||
|
loghandler.WriteLine ""
|
||
|
|
||
|
loghandler.Close
|