![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 18:08 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » VBS程序如何去传递或获取"批处理的执行结果" |
| 可打印版本 1,149 / 8 |
| 第1楼 bd123456789 | 发表于 2008-03-07 18:20 |
| 中级用户 发帖 216 积分 360 | |
|
VBS程序如何去传递或获取"批处理的执行结果" 程序如下:
set WshShell = CreateObject("WScript.Shell") cmd=WshShell.run("CMD /c echo %time%", runhide) msgbox cmd 为什么显示的结果是0,而不是批处理的执行结果17:02:28呢? 如何去提取批处理的执行结果? |
|
| 第2楼 slore | 发表于 2008-03-07 20:18 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
cmd为什么要是P的内容?
你知道run的返回值是什么麽? 你直接msgbox time不是更好麽? |
|
| 第3楼 bd123456789 | 发表于 2008-03-07 21:09 |
| 中级用户 发帖 216 积分 360 | |
|
呵呵,非也 我上面的程序是举例
在有些情况 ,使用批处理可能比使用脚本在代码上更简洁,或者说更容易,程序中的TIME只不过是举例而已,请不要误解噢! 从你的回答中看来,显示0,看来是顺利执行了运行批处理代码的而已,而不是批处理的执行结果.OK 就是想不通,有什么好的方法能够直接使用脚本语言捕获CMD执行结果???? [ Last edited by bd123456789 on 2008-3-7 at 09:11 PM ] |
|
| 第4楼 slore | 发表于 2008-03-07 22:08 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
不过VBS的效率高。
比较容易想到的是2个方法,bat输出,vbs读取。 当参数调用。 |
|
| 第5楼 fastslz | 发表于 2008-03-10 15:54 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
| 第6楼 bd123456789 | 发表于 2008-03-11 09:43 |
| 中级用户 发帖 216 积分 360 | |
|
ok 执行结果正确!
以后可以拿来作标准组件了,解决了不少问题! OK OK 不过,因为VBS水平有限,不知道其中的工作原理? 能看得懂的,帮忙解释一下吗? 是不是利用VBS去读取内存呀?或者其它什么的? |
|
| 第7楼 zh159 | 发表于 2008-03-11 10:43 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
如果批处理有输出,可以直接获取:
发现没有隐藏cmd窗口的参数,运行的时候会跳出cmd窗口 |
|
| 第8楼 fastslz | 发表于 2008-03-11 11:13 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
Originally posted by bd123456789 at 2008-3-11 09:43: 这段代码Script56.chm zh159兄的是简化代码,5楼完整代码还能返回Cmd执行错误提示,试试("%comspec% /c echo xxxx")就知道了 |
|
| 第9楼 bd123456789 | 发表于 2008-03-11 17:27 |
| 中级用户 发帖 216 积分 360 | |
|
简单测试了一下
5楼代码中间一大段主要功能是 当CMD程序执行发生错误时,能够将错误原因显示出来... 7楼的方法,太简洁了,OK |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |