|
sjmm
初级用户
 
积分 26
发帖 7
注册 2006-1-14
状态 离线
|
『楼 主』:
大家新年好!请教一个.bat的小问题!
使用 LLM 解释/回答一下
首先祝中国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
状态 离线
|
|
2006-2-4 18:14 |
|
|
sjmm
初级用户
 
积分 26
发帖 7
注册 2006-1-14
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
非常感谢!那@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 楼』:
使用 LLM 解释/回答一下
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 |
|
|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
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
状态 离线
|
|
2006-2-12 14:57 |
|