标题: 请教大家一个问题
[打印本页]
作者: hanbsome
时间: 2006-4-29 15:02
标题: 请教大家一个问题
大家好,现向高手求一批处理。先假如我要安装e:\123.exe 123.exe文件是一个windows的安装文件,在安装的过程中,会要求点Next Yes 还有确定这样的过程,请问用批处理文件 怎样来实现呢,完全不需要人手动点鼠标或者按键盘
谢谢大家了,
作者: bagpipe
时间: 2006-4-29 15:34
你的要求单独的批处理是完成不了的,因为批处理程序不能提供按键输入,例如你说的实现点击NEXT按钮之类的(总之我是不知道),不过能够借助VBS脚本来实现你的要求,不知道LZ意见如何?
作者: hanbsome
时间: 2006-4-29 16:33
Quote: |
Originally posted by bagpipe at 2006-4-29 15:34:
你的要求单独的批处理是完成不了的,因为批处理程序不能提供按键输入,例如你说的实现点击NEXT按钮之类的(总之我是不知道),不过能够借助VBS脠... |
|
如果用VBS脚本能够实现的话,也能解决问题,请赐教,。不胜感激
作者: 3742668
时间: 2006-4-29 16:59
例:
With Wscript.CreateObject("Wscript.Shell")
.run "notepad" '运行记事本
Wscript.Sleep 500 '等待半秒
.SendKeys "D~" '按下D键及回车,~表示回车。
Wscript.Sleep 500
.SendKeys "~O~"
Wscript.Sleep 500
.SendKeys "~S"
End With
根据你的要求,你只需要把notepad更改为e:\123.exe,然后发送回车键就行了,如果默认tab停留位不在next按纽上的话则需酌情发送tab键盘。
作者: hanbsome
时间: 2006-4-29 17:07
谢谢 bagpipe和版主 我现在先测试一下,再次谢谢你们
作者: hanbsome
时间: 2006-4-29 17:16
With Wscript.CreateObject("Wscript.Shell")
.run "notepad" '运行记事本
Wscript.Sleep 5000 '等待半秒
.SendKeys "D~" '按下D键及回车,~表示回车。
Wscript.Sleep 5000
.SendKeys "~O~"
Wscript.Sleep 30000
.SendKeys "~S"
End With
再次请教版主 我将时间改为5秒,连续按两次回车键以后,安装过程已经能够自动的安装完成,最后一个时间我改成了30秒,因为安装过程大概需要20秒。,希望他能够在安装完成后在执行一次回车。这样程序就会自动重起系统,为何我改成30秒的时间了依然不执行最后的那一次呢,
作者: hanbsome
时间: 2006-4-29 17:17
不好意思。对VBS脚本一窍不通 麻烦二位了,谢谢,再次感谢
作者: 3742668
时间: 2006-4-29 17:35
可能是你在等待的过程中激活了别的窗口导致当前窗口失去焦点的缘故吧。
你可以在每次发送按键前先激活该窗口,方法为:
WshShell.AppActivate "标题内容"
例如:
With Wscript.CreateObject("Wscript.Shell")
.run "notepad" '运行记事本
Wscript.Sleep 500 '等待半秒
.SendKeys "D~",5 '按下D键及回车,~表示回车。
Wscript.Sleep 500
.SendKeys "~O~"
Wscript.Sleep 10000
.AppActivate "无标题 - 记事本"
.SendKeys "~S"
End With
作者: bagpipe
时间: 2006-4-30 14:03
这个得根据你安装程序的步骤来定,只能给你个雏形你自己来修改,因为我们也不知道你到底是安装什么样的程序,而安装程序又分几步,所以我只能给你个实例,你按照实例来修改。下面是一个安装CCLEANER软件的脚本,
http://www.ccleaner.com/ccdownload.asp这个是程序下载,这个工具不错,我已经用了2年左右了,是个清理磁盘垃圾的小程序,进入上面的页面,点击“Alternative Download ”就可以下载了,下面是VBS代码:
option explicit
dim bagpipe,hi,ok
set bagpipe=createobject("wscript.shell")
hi=inputbox("输入你要执行程序的完整路径~~","别写错了啊,要不可不成的!","程序的完整路径")
set ok=bagpipe.exec(hi)
with bagpipe
wscript.sleep 1000
.appactivate ok.processid
.sendkeys "{ENTER}"
wscript.sleep 1000
.sendkeys "{ENTER}"
wscript.sleep 1000
.sendkeys "{ENTER}"
wscript.sleep 1000
.sendkeys "c:\test" '这个是改变了程序安装的默认路径为c:\test
wscript.sleep 1000
.sendkeys "{TAB 3}"
wscript.sleep 1000
.sendkeys "{ENTER}"
wscript.sleep 1000
.sendkeys "{ENTER}"
wscript.sleep 6000
.appactivate ok.processid
.sendkeys "{ENTER}"
end with