中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 00:20
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理调用另一个批处理 查看 834 回复 4
楼 主 [求助]批处理调用另一个批处理 发表于 2008-06-30 11:48 ·  中国 海南 海口 电信
初级用户
积分 47
发帖 14
注册 2008-06-30 10:07
18年会员
UID 120941
性别 男
状态 离线
请问
我U盘里有2个文件夹
其中各有1个批处理

如A文件夹里有名为1的批处理
B文件夹里有名为2的批处理

现在我想通过名称为2的批处理来调用1
然后因为两个批处理都是在U盘里
盘符不固定
请问我该怎么写才能互相调用??

现在我是通过cd.. 来返回上层目录 然后start执行的

请问还有别的方法吗?
谢谢大家

[ Last edited by landays on 2008-6-30 at 11:50 AM ]
2 发表于 2008-06-30 12:00 ·  IANA 局域网IP(Private-Use)
初级用户
积分 65
发帖 29
注册 2008-03-24 12:17
18年会员
UID 113853
性别 男
状态 离线
我想A执行的时候,就可以获得A所在执行路径的盘符了
然后调用B就直接了。

B调用A同理
3 发表于 2008-06-30 12:20 ·  中国 海南 海口 电信
初级用户
积分 47
发帖 14
注册 2008-06-30 10:07
18年会员
UID 120941
性别 男
状态 离线
我是这样写的
cd..
start a\1.bat

如果去掉cd..
按照你说的 不行
4 发表于 2008-06-30 12:27 ·  IANA 局域网IP(Private-Use)
初级用户
积分 65
发帖 29
注册 2008-03-24 12:17
18年会员
UID 113853
性别 男
状态 离线
你用相对路径蛮好的呀

如果非要用绝对路径获取盘符,可以在每个批处理里面加这一行:

for /f "tokens=1* delims=\" %%i in ('echo %cd%') do set dr=%%i

执行后 %dr% 就是U盘所在盘符了,再调用另外一个就可以

start %dr%\b\2.bat 这样了。。。
5 发表于 2008-06-30 12:38 ·  中国 海南 海口 电信
初级用户
积分 47
发帖 14
注册 2008-06-30 10:07
18年会员
UID 120941
性别 男
状态 离线
我明白了,呵呵
楼上的 非常感谢你
论坛跳转: