中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 大家新年好!请教一个.bat的小问题!
作者:
标题: 大家新年好!请教一个.bat的小问题! 上一主题 | 下一主题
sjmm
初级用户





积分 26
发帖 7
注册 2006-1-14
状态 离线
『楼 主』:  大家新年好!请教一个.bat的小问题!

首先祝中国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
如果可以,那又是为什么呢?
我知道%是代表变量的符号,这样的用法是什么意思?又有什么用处?
请指教!先谢过各位了!

2006-2-1 12:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 2 楼』:  

第二行的"cd dos\game"改为"cd \dos\game".



简单就是美
2006-2-4 18:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sjmm
初级用户





积分 26
发帖 7
注册 2006-1-14
状态 离线
『第 3 楼』:  

非常感谢!那@C:\DOS71\DOSSHELL\DOSSHELL.COM %1 %2 %3 %4 %5 %6 %7 %8 %9后的@ %1 %2 %3 %4 %5 %6 %7 %8 %9是什么意思?为什么我仿效它做的批处理没用呢?谢谢指教!

2006-2-11 12:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 4 楼』:  

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
2006-2-12 09:29
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 5 楼』:  

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:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-2-12 10:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sjmm
初级用户





积分 26
发帖 7
注册 2006-1-14
状态 离线
『第 6 楼』:  

非常感谢!!!

2006-2-12 14:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: