我有一个调用第二个 vbscript 并运行一个函数的 vbscript。第二个函数返回一个值。但我不知道如何获得这个值,因为第一个函数的结果返回状态码。
原始调用:fileCASRING(12345678)
脚本 1
function fileCASTRING(varRAW)
lresult = CreateObject("WScript.Shell").Run ("c:\windows\syswow64\cscript.exe C:\ERMXData\Config\query-castring.vbs " & varRAW,0,true)
fileCASTRING=1
end function
查询-castring.vbs
doctype=WScript.Arguments.Item(0)
Dim strCon
strCon = "DSN=*****; " & _
"uid=*****;pwd=*****;"
Dim oCon: Set oCon = WScript.CreateObject("ADODB.Connection")
Dim oRs: Set oRs = WScript.CreateObject("ADODB.Recordset")
oCon.Open strCon
Set oRs = oCon.Execute("select ESBLINK_ADMR_CODE from ESBLINK where ESBLINK_DTYP_CODE like '%" + doctype + "%'"")
queryB=oRs.Fields(0).Value
oCon.Close
Set oRs = Nothing
Set oCon = Nothing
我必须这样做,因为运行 vbscript 1 的程序以 64 位模式运行,而 query-castring.vbs 中的代码需要以 32 位模式运行才能正常工作。如何将 queryB 值返回给原始调用者?我试图不必将值写入文件。