中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » (求助)在用批处理启动N个程序时可不可以用CALL命令
作者:
标题: (求助)在用批处理启动N个程序时可不可以用CALL命令 上一主题 | 下一主题
maya0su
中级用户




积分 241
发帖 131
注册 2005-9-28
状态 离线
『楼 主』:  (求助)在用批处理启动N个程序时可不可以用CALL命令

在用批处理启动N个程序时,可不可以用CALL命令?假如可行,如何实现?
在调用CALL命令后,如何消除它那个黑乎乎的窗口?


——————————————  Edited by willsort  ——————————————
分割自:《12388 - [讨论]批处理编程的异类》
——————————————  Edited by willsort  ——————————————


[ Last edited by willsort on 2005-11-5 at 12:34 ]



房东说:这娃是个好孩子!
2005-10-14 17:27
查看资料  发送邮件  发短消息 网志  OICQ (55115315)  编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 2 楼』:  

在用批处理启动N个程序时,不用CALL命令,除非是启动BAT文件才可以用CALL命令!



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2005-11-3 21:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 3 楼』:  

Re maya0su:

>在用批处理启动N个程序时,可不可以用CALL命令?
      可以的。
      如果被启动的程序是批处理程序,使用 call 可以使被调程序结束后返回调用程序继续执行,不使用 call 将不会返回;如果不是批处理程序,则与直接调用近乎等效。

>在调用CALL命令后,如何消除它那个黑乎乎的窗口?
      使用 call 并不会消除、禁止或者隐藏命令行窗口。
      但是在使用 call 调用批处理或者命令行程序时,将不会 额外的 创建命令行窗口,即如果调用程序已创建窗口,则被调程序在已有窗口中运行;如果调用程序未创建窗口,则会创建新窗口来运行被调程序。

      如果你的意图是,不通过命令行窗口调用批处理或者命令行程序,那需要自己通过高级语言编程实现CMD或者COMMAND的封装,那将比较复杂。

      如果你只是想以最小化的命令行窗口运行程序,那么可以通过首先调用程序的快捷方式,然后在其“属性-〉快捷方式-〉运行方式”中选择“最小化”后确定即可。

      另外,在命令行中可以通过 start 命令来运行命令行与非命令行程序,它的 /min 和 /max 开关,可以控制程序在最小化和最大化的命令行窗口中运行;它的 /wait 开关可以控制是否需要等待被调程序结束后再调用其它程序。具体信息可以通过 start /? 查看其命令行帮助文档。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-11-5 13:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
maya0su
中级用户




积分 241
发帖 131
注册 2005-9-28
状态 离线
『第 4 楼』:  

只到START命令能够使窗口最小,你的意思是CALL命令无法实现START /MIN的功能是吧?
我的意思这样:
这样一个批处理
start 1.exe
start 2.exe
start 3.exe
......
能够顺利启动所有程序!
而这样:
call 1.exe
call 2.exe
call 3.exe
则无法按顺序启动所有程序!为何?



房东说:这娃是个好孩子!
2005-11-7 16:50
查看资料  发送邮件  发短消息 网志  OICQ (55115315)  编辑帖子  回复  引用回复
voiL
中级用户





积分 384
发帖 189
注册 2005-10-19
状态 离线
『第 5 楼』:  

start 是直接调用程序的.

call 是需要等到前面一个程序结束了之后再执行下一个call的.

所以,如果你用call的话,你必须把1.exe关闭之后它才会执行call 2.exe这一行.

2005-11-7 17:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: