Board logo

标题: 如何让批处理A执行批处理B中的某段代码? [打印本页]

作者: lwexe     时间: 2010-8-20 11:34    标题: 如何让批处理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 ]
作者: lovelymorning     时间: 2010-8-20 23:56
B中加判断,A中调用时带参数就OK了。。。
作者: hsyy     时间: 2010-8-21 08:17    标题: 恩,楼上的方法不错

恩,楼上的方法不错,在A设定一个变量并赋值,在B中检测这个变量的值,如果是你在A中赋予的值,就用 GOTO :***转跳到要执行的代码区,这样不会影响B的单独执行。
但是两个批处理不好吧,不好管理和查看,如果可以直接将B中要执行的代码拷过来好了!
作者: lwexe     时间: 2010-8-21 10:33


  Quote:
Originally posted by lovelymorning at 2010-8-20 23:56:
B中加判断,A中调用时带参数就OK了。。。

这个方法我试过,不行!我是在网络中调用客户机的批处理,因为批处理较多,我想全合在一个文件上,在网络上调用时,只调客户机批处理中的一部份!
作者: cjiabing     时间: 2010-8-21 11:01
1、将A的代码全部拷贝到B里,使用GOTO和CALL调用。
2、将标签代码分化为独立的BAT代码,有用则START和CALL调用。
3、在A中使用FOR /F 读取B,调取B中需要的行的代码。
这个不只是思路的问题了,是基础知识的问题了。
作者: lovelymorning     时间: 2010-8-21 13:01


  Quote:
Originally posted by lwexe at 2010-8-21 10:33 AM:


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

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

A中,用 call 调用,如:

call B.bat的绝对路径 b

B.bat  加入判断

if "%~1"=="b" goto 想调用的代码