中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 06:50
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理中如何对弹出的对话框进行处理?
可打印版本  1,716 / 10
第1楼 sglxy 发表于 2008-04-22 20:24
中级用户 发帖 87 积分 397
批处理中如何对弹出的对话框进行处理?
如题,我编写了一个批处理,为了让不太懂得软件安装的人直接运行就可以安装几个小工具软件,但是某行命令运行后产生的对话框必须按回车键回者鼠标操作才能退出,否则后面的命令行无法执行,如图:


以下是批处理弹出对话框的部分的命令:
echo.
echo.
%PROGR%\音频处理\音频编辑\绿化.exe (就是这个文件运行后弹出对话框)
taskkill /im 绿化.exe /f /t
del "%USERPROFILE%\桌面\Adobe Audition 3.0.lnk" >nul 2>nul
exit
... ...

*******************************************

在这种情况下如何才能让这个对话框退出(不用动手的情况下),并继续执行下面的命令?请各位朋友指点指点,先谢谢了!

[ Last edited by sglxy on 2008-4-22 at 09:25 PM ]
第2楼 slore 发表于 2008-04-22 20:39
铂金会员 发帖 2,478 积分 5,212
调用vbs发送 回车键
第3楼 sglxy 发表于 2008-04-22 20:51
中级用户 发帖 87 积分 397
无法调用,对话框后面的命令根本无法运行!为了让这个对话框退出,我使用了
“taskkill /im 绿化.exe /f /t”
来杀进程,但无奈的是根本就没有机会运行这一句命令。

[ Last edited by sglxy on 2008-4-22 at 08:53 PM ]
第4楼 sglxy 发表于 2008-04-22 21:26
中级用户 发帖 87 积分 397
各位老师给指点一下,谢谢!
第5楼 slore 发表于 2008-04-22 21:50
铂金会员 发帖 2,478 积分 5,212
提前执行 反送回车的VBS……中间要计算延时……
第6楼 sglxy 发表于 2008-04-22 22:04
中级用户 发帖 87 积分 397
请给一个这样的返回车的VBS文件,我自己不会编辑,先谢谢了
第7楼 slore 发表于 2008-04-22 22:15
铂金会员 发帖 2,478 积分 5,212
调用实例-3秒后发送回车:
start wscript //nologo sEnter.vbs 3

sEnter.vbs:

Wscript.Sleep WScript.Arguments.item(0) * 1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Sendkeys "{Enter}"
Set WshShell = Nothing


[ Last edited by slore on 2008-4-22 at 10:19 PM ]
第8楼 dikex 发表于 2008-04-22 22:27
高级用户 发帖 366 积分 788
利用start执行程序,再可以利用ping大概定时:
ping 127.0.0.1 /n 10
这个大概是10秒

第9楼 sglxy 发表于 2008-04-23 07:15
中级用户 发帖 87 积分 397
(1)、slore兄的调用实例-3秒后发送回车的方法执行成功,非常好用!
(2)、dikex兄的延时杀进程的方法我自己就时过好多次,根本不能执行下一步命令但是dikex兄在"%PROGR%\音频处理\音频编辑\绿化.exe"命令前面加了start "" 就可以正常向下执行,这是什么道理,请指点以下。

对于两位老师的指点,在此表示感谢!!!
第10楼 slore 发表于 2008-04-23 10:47
铂金会员 发帖 2,478 积分 5,212
如果不加start命令,说明要等待调用的程序结束后再继续执行代码……
加start异步执行,调用命令执行完就直接执行下面的语句。


因为路径有空格……

start的第2参数默认是标题的……
有空格,那么空格前面的部分成标题,后面的成命令……所以就错了……
所以要start ""
第11楼 sglxy 发表于 2008-04-23 11:26
中级用户 发帖 87 积分 397
我说怎么start后面还加了个引号"",但是引号里面却没有内容呢,原来是这样!,真是太谢谢slore兄了,这次跟你又学了一招,呵呵。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023