我希望能够通过命令行运行程序,我想用VbScript启动它.我还想获取命令行的输出并将其分配给变量,我希望所有这些都可以在没有cmd窗口弹出的情况下以静默方式完成.我分别管理了两件事但不在一起.这是我到目前为止所得到的.从cmd运行命令并获取输出:
Dim WshShell, oExec
Set WshShell = WScript.CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("C:\snmpget -c public -v 2c 10.1.1.2 .1.3.6.1.4.1.6798.3.1.1.1.5.1")
x = oExec.StdOut.ReadLine
Wscript.Echo x
Run Code Online (Sandbox Code Playgroud)
上面的脚本工作并做我想要的,除了cmd弹出一小段时间.
这是一个静默运行但不会获取输出的脚本
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("C:\snmpset -c public -v 2c -t 0 10.1.1.2 .1.3.6.1.4.1.6798.3.1.1.1.7.1 i 1", 0, true)
Run Code Online (Sandbox Code Playgroud)
有没有办法让这两个一起工作?
让我告诉你我为什么要这样做的背景.我基本上每隔5-10分钟对一个单元进行一次轮询,我会在发生某种情况时让脚本发送电子邮件或抛出一个消息框,但我不希望看到cmd行整天在我的计算机上弹出.有什么建议?谢谢
我正在尝试执行这个简单的测试脚本,但是在执行脚本后出现命令shell窗口:
Set objShell = WScript.CreateObject("WScript.Shell")
strCommand = "cmd /C tasklist"
Set objExecObject = objShell.Exec(strCommand)
wscript.echo "Test"
Run Code Online (Sandbox Code Playgroud)
如何防止它出现?
更新
我能够通过此代码更改来改进它:
strCommand = "cmd /C /Q tasklist"
Run Code Online (Sandbox Code Playgroud)
现在窗口只显示一瞬间.但我不希望它出现.