中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 调用的区别 上一主题 | 下一主题
w909525
初级用户





积分 98
发帖 34
注册 2007-3-9
状态 离线
『楼 主』:  调用的区别

我们在系统中写批处理时经常会调用另外的一程序,比如要调用C:\a.exe有三种方法
1:call c:\a.exe
2:start c:\a.exe
3: c:\
   a.exe
他们都能顺利执行a.exe,那么请问他们之间有什么区别呢?谢谢

2007-6-16 15:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

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 参数,应该和上面两个的效果差不多。

多动手练习就回发现他们细微的区别和联系。

2007-6-16 22:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
w909525
初级用户





积分 98
发帖 34
注册 2007-3-9
状态 离线
『第 3 楼』:  

谢谢楼主的答案。
不过我还有问题想请都楼主,我有一个程序,当我当独运行它时每次都很正常,但是当我在系统启动项里加个批处理调用它时却经常出现不能正常执行的错误,我用的是call,请问楼主要怎样解决才会比较好呢?谢谢

2007-6-17 08:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wangmeng052
中级用户





积分 334
发帖 154
注册 2007-3-24
状态 离线
『第 4 楼』:  

我也了解一下,谢谢版主。

2007-6-17 11:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  

Re w909525:

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

ps 我不是楼主,楼主是你自己。

2007-6-17 13:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 6 楼』:  

call的时候注意路径……当前路径不是按CALL 的P所在,而是当前命令提示符环境的目录。

2007-6-17 13:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: