中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-14 02:43
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 大家新年好!请教一个.bat的小问题! 查看 1,186 回复 5
楼 主 大家新年好!请教一个.bat的小问题! 发表于 2006-02-01 12:08 ·  中国 上海 电信
初级用户
积分 26
发帖 7
注册 2006-01-14 21:11
20年会员
UID 48979
状态 离线
首先祝中国DOS联盟论坛的所有工作人员及用户新年快乐,身体健康,狗年旺旺!
我是一个DOS初学者,使用DOS7.1+WINXP,请教:
为方便管理,我所有的DOS软件和游戏存放放E:\下,但有些游戏不止一个文件,我存放在E:\GAME\GAME1\*.*,为使用方便,我做了一个C:\DOS71\GAME1.BAT,如下:
@ echo off
e:
cd dos\game
game1
cd\
c:
见笑了,使用中发现当E:\中当前目录不是E:\时(比如:E:\DOS\TOOLS),发现.BAT就不能用了!不过后来在\DOS71中发现了一个DOSSHELL.BAT.它无论在任何目录中都可启动,我可否把我的GAME1.BAT仿效它呢?

写成: @e:\dos\game\game1.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
如果可以,那又是为什么呢?
我知道%是代表变量的符号,这样的用法是什么意思?又有什么用处?
请指教!先谢过各位了!
2 发表于 2006-02-04 18:14 ·  中国 山东 济南 移动
钻石会员
★★★★★
积分 10,056
发帖 3,041
注册 2002-11-11 00:00
23年会员
UID 223
性别 男
状态 离线
第二行的"cd dos\game"改为"cd \dos\game".
简单就是美
3 发表于 2006-02-11 12:25 ·  中国 上海 长宁区 电信
初级用户
积分 26
发帖 7
注册 2006-01-14 21:11
20年会员
UID 48979
状态 离线
非常感谢!那@C:\DOS71\DOSSHELL\DOSSHELL.COM %1 %2 %3 %4 %5 %6 %7 %8 %9后的@ %1 %2 %3 %4 %5 %6 %7 %8 %9是什么意思?为什么我仿效它做的批处理没用呢?谢谢指教!
4 发表于 2006-02-12 09:29 ·  中国 福建 泉州 石狮市 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
23年会员
UID 586
性别 男
来自 福建泉州
状态 离线
1.后面的%1 %2 ... %9是参数.
有此命令是不需要加参数的.
像你的游戏,一般是不需要的.
使用 e:\dos\game\game1.exe
即可.

2.它无论在任何目录中都可启动,我可否把我的GAME1.BAT仿效它呢?
使用path.
path %path%;e:\dos\game\
game1.exe
QQ:366840202
http://chenall.net
5 发表于 2006-02-12 10:15 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re sjmm:

如果你的 GAME1.bat 与 DOSSHELL.BAT 同处与 C:\DOS71 ,那么必然会具有同样的查找并启动的特性。如果 DOSSHELL 可在任何目录下执行, GAME1.BAT 则当然也可以。

当然,GAME1.Bat 在任何目录下都可执行,并不代表 GAME1.EXE 在任何目录下都可执行,这取决于游戏程序本身是否需要外部文件的支持,根据你在主楼提到的情况,则基本上认定 GAME1.EXE 只能在游戏目录下执行,所以,才需要在GAME1.BAT 中切换目录。你的程序无法在所有路径下都正常执行,正缘于 Michael 兄指出的原因,用切换路径时未从根目录上指定路径。

[ Last edited by willsort on 2006-2-12 at 10:16 ]
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
6 发表于 2006-02-12 14:57 ·  中国 上海 电信
初级用户
积分 26
发帖 7
注册 2006-01-14 21:11
20年会员
UID 48979
状态 离线
非常感谢!!!
论坛跳转: