中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-17 12:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何让批处理A执行批处理B中的某段代码? 查看 1,055 回复 5
楼 主 如何让批处理A执行批处理B中的某段代码? 发表于 2010-08-20 11:34 ·  中国 云南 德宏傣族景颇族自治州 电信
新手上路
积分 8
发帖 8
注册 2010-08-11 11:09
UID 172178
性别 男
状态 离线
如何让批处理A执行批处理B中的某段代码?

我在网络中找了好久,也没找到解决的办法,请高手帮忙解决!

比如说B.bat 代码如下

:qiyongSB
devcon enable *FUNC_01*
net start audiosrv

exit




:jinyongSB
devcon disable *FUNC_01*
net stop audiosrv
exit

我在A.BAT 中要调用执行B.BAT中的 :jinyong的代码,A.BAT怎么写啊?

[ Last edited by lwexe on 2010-8-20 at 12:13 ]
2 发表于 2010-08-20 23:56 ·  中国 广东 揭阳 电信
初级用户
★★
积分 131
发帖 72
注册 2008-02-24 14:31
UID 111317
性别 男
状态 离线
B中加判断,A中调用时带参数就OK了。。。
3 恩,楼上的方法不错 发表于 2010-08-21 08:17 ·  中国 浙江 杭州 电信
新手上路
积分 6
发帖 2
注册 2010-08-21 08:00
UID 172755
性别 男
状态 离线
恩,楼上的方法不错,在A设定一个变量并赋值,在B中检测这个变量的值,如果是你在A中赋予的值,就用 GOTO :***转跳到要执行的代码区,这样不会影响B的单独执行。
但是两个批处理不好吧,不好管理和查看,如果可以直接将B中要执行的代码拷过来好了!
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
doshsyy +1 2010-08-21 14:49
4 发表于 2010-08-21 10:33 ·  中国 云南 德宏傣族景颇族自治州 电信
新手上路
积分 8
发帖 8
注册 2010-08-11 11:09
UID 172178
性别 男
状态 离线
Originally posted by lovelymorning at 2010-8-20 23:56:
B中加判断,A中调用时带参数就OK了。。。


这个方法我试过,不行!我是在网络中调用客户机的批处理,因为批处理较多,我想全合在一个文件上,在网络上调用时,只调客户机批处理中的一部份!
5 发表于 2010-08-21 11:01 ·  中国 广西 南宁 电信
新手上路
积分 19
发帖 18
注册 2009-01-19 00:11
UID 136996
性别 男
状态 离线
1、将A的代码全部拷贝到B里,使用GOTO和CALL调用。
2、将标签代码分化为独立的BAT代码,有用则START和CALL调用。
3、在A中使用FOR /F 读取B,调取B中需要的行的代码。
这个不只是思路的问题了,是基础知识的问题了。
6 发表于 2010-08-21 13:01 ·  中国 广东 揭阳 电信
初级用户
★★
积分 131
发帖 72
注册 2008-02-24 14:31
UID 111317
性别 男
状态 离线
Originally posted by lwexe at 2010-8-21 10:33 AM:


这个方法我试过,不行!我是在网络中调用客户机的批处理,因为批处理较多,我想全合在一个文件上,在网络上调用时,只调客户机批处理中的一部份!



调用的文件,有没绝对路径??

A中,用 call 调用,如:

call B.bat的绝对路径 b

B.bat 加入判断

if "%~1"=="b" goto 想调用的代码
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
doshsyy +1 2010-08-21 14:48
论坛跳转: