通过批处理文件打开命令提示符来调用和执行vb脚本

时间:2013-09-04 07:35:04

标签: batch-file vbscript

当涉及到vb脚本甚至命令行时,我是一个完全的业余爱好者所以请耐心等待..

我已使用Wshshell.sendkeys创建了一个用于发送密钥的vb脚本 send.vbs 。在这个脚本中,我使用vsh命令进入vshell,我输入vsh后得到两个选项,其中我选择选项2,然后我执行一个命令,其输出被重定向到一个文本文件。我然后将此文件ftp到不同的服务器。现在我想安排这个vb脚本每10分钟运行一次。现在,如果我双击这个脚本文件,它只是暂时打开一个黑色窗口并关闭它。命令不会执行。但是当我手动打开命令窗口然后我转到脚本所在的路径然后我执行它,它工作正常,我得到了所需的输出。

我尝试使用 cscript send.vbs 编写批处理文件,并安排相同的操作每10分钟运行一次。但是这个批处理文件没有运行vbscript。 any1可以帮我编写一个批处理文件,它将打开一个命令提示符,然后在该命令提示符下运行thi vb脚本。脚本如下:

Set WshShell = wscript.CreateObject("wscript.Shell")
wshshell.sendkeys "vsh"
wshshell.sendkeys "{ENTER}"
wshshell.sendkeys "2"
wshshell.sendkeys "{ENTER}"
wshshell.sendkeys "tls display agents > Agentstat.txt"
wshshell.sendkeys "{ENTER}"
wshshell.sendkeys "quit"
wshshell.sendkeys "{ENTER}"

任何帮助都非常感谢.. 谢谢!!

1 个答案:

答案 0 :(得分:0)

你去......

Set WshShell = wscript.CreateObject("wscript.Shell")
WshShell.Run "cmd"
WScript.Sleep 100 
WshShell.AppActivate "C:\Windows\system32\cmd.exe" 
WScript.Sleep 100 
wshshell.sendkeys "vsh"
wshshell.sendkeys "{ENTER}"
wshshell.sendkeys "2"
wshshell.sendkeys "{ENTER}"
wshshell.sendkeys "tls display agents > Agentstat.txt"
wshshell.sendkeys "{ENTER}"
wshshell.sendkeys "PAUSE"
wshshell.sendkeys "{ENTER}"
wshshell.sendkeys "quit"
wshshell.sendkeys "{ENTER}"