中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 22:08
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何让批处理A执行批处理B中的某段代码?
可打印版本  1,137 / 5
第1楼 lwexe 发表于 2010-08-20 11:34
新手上路 发帖 8 积分 8
如何让批处理A执行批处理B中的某段代码?
如何让批处理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楼 lovelymorning 发表于 2010-08-20 23:56
初级用户 发帖 72 积分 131
B中加判断,A中调用时带参数就OK了。。。
第3楼 hsyy 发表于 2010-08-21 08:17
新手上路 发帖 2 积分 6
恩,楼上的方法不错
恩,楼上的方法不错,在A设定一个变量并赋值,在B中检测这个变量的值,如果是你在A中赋予的值,就用 GOTO :***转跳到要执行的代码区,这样不会影响B的单独执行。
但是两个批处理不好吧,不好管理和查看,如果可以直接将B中要执行的代码拷过来好了!
第4楼 lwexe 发表于 2010-08-21 10:33
新手上路 发帖 8 积分 8
Originally posted by lovelymorning at 2010-8-20 23:56:
B中加判断,A中调用时带参数就OK了。。。


这个方法我试过,不行!我是在网络中调用客户机的批处理,因为批处理较多,我想全合在一个文件上,在网络上调用时,只调客户机批处理中的一部份!
第5楼 cjiabing 发表于 2010-08-21 11:01
新手上路 发帖 18 积分 19
1、将A的代码全部拷贝到B里,使用GOTO和CALL调用。
2、将标签代码分化为独立的BAT代码,有用则START和CALL调用。
3、在A中使用FOR /F 读取B,调取B中需要的行的代码。
这个不只是思路的问题了,是基础知识的问题了。
第6楼 lovelymorning 发表于 2010-08-21 13:01
初级用户 发帖 72 积分 131
Originally posted by lwexe at 2010-8-21 10:33 AM:


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



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

A中,用 call 调用,如:

call B.bat的绝对路径 b

B.bat 加入判断

if "%~1"=="b" goto 想调用的代码
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023