vbs如何按时运行(包括SendKeys)

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:14:21
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESC}r"
WScript.Sleep 300
WshShell.SendKeys "cmd"
WScript.Sleep 500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.SendKeys "telnet 192.168.0.200"

这样一段VBS,通过bat调用的。希望每天固定时段运行。直接运行没有问题的。
添加了windows计划任务后,该vbs的确被调用了,计划任务没有问题,但是运行到上面一段的时候就停止了,请教高手如何解决。
其实目的就是要管理2000个只能telnet的设备。
需要定时,挨个telnet这2000个设备,上去运行一条命令查看这些设备的状态,当然状态是要保存到本地文本文件里的。
我用暂停时间是因为这么多设备偶尔会有延迟的情况啊,通常情况下,这电脑倒是没人用的

没明白你的意思,这个命令不光是跳过了"^{esc}r",
还跳过了cmd,还跳过了sendkeys
如果你是要靠sendkeys执行命令的话,打消这个念头吧。

你要打开运行窗口,靠运行窗口打开CMD,这种想法笨啊,而且中间暂停那么长时间,十次估计有五次不能顺利运行。稍微有点动作,就吧键盘发送到别的地方去了。屁用都没有。

你到底想做什么讲具体一点。绕来绕去看的费劲。

____________________________________________________________________________________________________________________________________________

' 你的意思是打开CMD然后通过发送键盘执行命令是吧?
'那你写错了,第一,打开CMD的方式错了。开始菜单要发送“r”才可以打开运行窗口,然后在输入CMD打开。这样很笨的
'第二,这样sendkeys是有很大问题的假如不小心动了下鼠标,就发送不到CMD窗口了。

'我改过的程序:

Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.run "cmd /c telnet 192.168.0.200"

'就两句,简单吧,你想的太复杂了。有点弄巧成拙了,其实可以后台运行,神不知鬼不觉,加个"hide"就可以了

Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.run "cmd /c telnet 192.168.0.200", hide