在VBscript中执行两个命令

时间:2015-03-10 05:57:51

标签: vbscript

我试图写一个VBScript来执行两个命令。脚本如下:

Set objShell = CreateObject("WScript.Shell")
Set X = objShell.Exec("opcdeploy -cmd ""dbspicao -m 0703 -r 1"" -node fssflx24.fss.india")
Set Y = objShell.Exec("opcmsg a=a o=o msg_text=X severity=Normal node=fssflx24.fss.india")
strIpConfig = objScriptExec.StdOut.ReadAll
WScript.Echo strIpConfig

我想要的是第一个命令" X"如果被执行,它的输出将被用作第二个" Y"中的msg_text。命令。 但它没有发生,因为当第二个命令被执行时它不捕获输出而只捕获单词" Y"。

我失踪了什么。 请帮助。

BR, 拉梅什

2 个答案:

答案 0 :(得分:0)

好吧有几个问题。 第一个X设置为Execobject而不是exec的输出。 在Y Exec中你只有一个字符串。要在字符串中使用变量,必须在msg_text =之后使用"结束字符串。然后追加变量X并最后追加其余的字符串。所以代码看起来像:

Set objShell = CreateObject("WScript.Shell")
Set execo = objShell.Exec("opcdeploy -cmd ""dbspicao -m 0703 -r 1"" -node fssflx24.fss.india")
X = execo.StdOut.ReadAll
Set Y = objShell.Exec("opcmsg a=a o=o msg_text=" & X &" severity=Normal node=fssflx24.fss.india")

最后,我无法从您的代码中了解objScriptExec应该是什么。它似乎被定义在其他地方所以我不确定它是如何相关的......

答案 1 :(得分:0)

我的第一个命令 opcdeploy -cmd“”dbspicao -m 0703 -r 1“” - node fssflx24.fss.india 它提供以下警报。 报告数据库mpaydb1

                  Wed Mar 11 13:57:28 IST 2015

                Metric UDM 0709 (Report 1)

RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION LIMIT_VALU


处理118 359 500 会议124 366 784 交易0 6 UNLIMITED

第二个命令应选择此输出并使用第二个命令生成警报。 opcmsg a = a o = o msg_text =“& X&” severity =正常节点= fssflx24.fss.india

这就是它应该如何运作。

BR, 拉梅什