我试图写一个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, 拉梅什
答案 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, 拉梅什