中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 00:08
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 调用的区别
可打印版本  783 / 5
第1楼 w909525 发表于 2007-06-16 15:32
初级用户 发帖 34 积分 98
调用的区别
我们在系统中写批处理时经常会调用另外的一程序,比如要调用C:\a.exe有三种方法
1:call c:\a.exe
2:start c:\a.exe
3: c:\
a.exe
他们都能顺利执行a.exe,那么请问他们之间有什么区别呢?谢谢
第2楼 lxmxn 发表于 2007-06-16 22:12
版主 发帖 4,938 积分 11,386
1、call 可以除了调用外部程序外,还可以调用内部命令,比如 call echo hello,world.

2、call c:\a.exe 和 c:\a.exe 在批处理中运行时,会等待这个程序运行完,然后再回到当前批处理脚本,而 start c:\a.exe 启动了 C:\a.exe 之后,马上回到批处理脚本,继续执行下面的命令,它启动 c:\a.exe 这个程序之后,它的任务就完成了。如果 start 加上 /wait 参数,应该和上面两个的效果差不多。

多动手练习就回发现他们细微的区别和联系。
第3楼 w909525 发表于 2007-06-17 08:05
初级用户 发帖 34 积分 98
谢谢楼主的答案。
不过我还有问题想请都楼主,我有一个程序,当我当独运行它时每次都很正常,但是当我在系统启动项里加个批处理调用它时却经常出现不能正常执行的错误,我用的是call,请问楼主要怎样解决才会比较好呢?谢谢
第4楼 wangmeng052 发表于 2007-06-17 11:39
中级用户 发帖 154 积分 334
我也了解一下,谢谢版主。
第5楼 lxmxn 发表于 2007-06-17 13:24
版主 发帖 4,938 积分 11,386
Re w909525:

这要看你的批处理的具体内容来推断了。

ps 我不是楼主,楼主是你自己。
第6楼 slore 发表于 2007-06-17 13:34
铂金会员 发帖 2,478 积分 5,212
call的时候注意路径……当前路径不是按CALL 的P所在,而是当前命令提示符环境的目录。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023