場景:我們有一些計劃任務(Control-M)運行多個處理程序,其中一些執行.VBS文件(帶參數),從XML文件讀取配置並將其發送到公司的軟件中解釋並將數據加載到表格上。Wscript make程序無法在後臺運行或等待完成
我需要用VBS文件幫助,即如上所述,只能從XML獲取指令,並將其發送到與這些步驟的軟件(也記錄了每個步驟):
發現XML;
創建一個對象來登錄軟件(使用XML參數);
Dim object Set object = CreateObject("service.location.id")
登錄數據庫(使用XML參數);
object.Login("DATABASE_NAME")
選擇哪個數據庫(XML ...);
object.SelectDatabase("DATABASE_NAME")
發送命令來啓動負載proccess
object.LoadRepositoryTable(XML)
的問題是,由於默認的解釋爲wscript
,在執行腳本時,它在後臺運行和作業調度器認爲它完成執行並開始下一個工作。
執行上CMD腳本,如果我開始它作爲cscript SCRIPT.vbs
等待整個負載proccess完成(它不上後臺運行),我想這樣做,因爲wscript
運行的時候 - 因爲既然有很多工作,編輯他們如何調用腳本現在不是一個選項。這包括創建一個.bat文件,將SCRIPT.vbs
稱爲cscript
。
我也嘗試搜索「如何在VB腳本中運行另一個.vbs文件」以cscript
運行,但沒有設法使其工作。
我該怎麼辦?
有沒有辦法讓wscript
等待負載?
有沒有辦法在傳遞2個參數時在同一個文件夾中調用.vbs(不發送它作爲參數)?
另一個選項,我沒有看到?
編輯:這是我到目前爲止,但我得到「預計結束聲明」。
Dim objShell
Dim arg_dir
arg_dir = Wscript.Arguments.Item(0)
Dim arg_xml
arg_xml = Wscript.Arguments.Item(1)
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "cmd /k cscript ""C:\Folder\Scripts\SCRIPT.vbs" &" "& arg_dir &" "& arg_xml"", 1, True