我希望能够通过命令行运行程序,我想用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行整天在我的计算机上弹出.有什么建议?谢谢
我有一个.bat启动java程序的Windows 文件.为方便起见,我创建了一个Eclipse外部工具配置,以便直接从IDE启动它,并从Eclipse控制台读取其标准输出.
但是,当我在Console视图中使用terminate按钮(红色方块)从Eclipse终止进程时,程序仍在运行.
如何从Eclipse中删除它(没有创建一个单独的启动配置来搜索它并以编程方式杀死它)?
我有一个vbscript来调用PowerShell脚本,希望将PowerShell输出返回到HTA(HTML应用程序)GUI.现在我只想看看我是否可以将PowerShell输出返回到vbscript中的MsgBox.我没有太多运气.
VBScript代码:
Set shell = CreateObject("WScript.Shell")
return = shell.Run("powershell.exe -executionpolicy bypass -noprofile -file pathToScript\PowerShellToVBA.ps1", , true)
MsgBox return
Run Code Online (Sandbox Code Playgroud)
PowerShell代码:
Clear-Host
return 50
Run Code Online (Sandbox Code Playgroud)
我试图保持返回值非常简单,直到它工作.有了这个,我希望MsgBox返回'50',但它会返回'0'.什么想法我做错了什么?