标题: 大家新年好!请教一个.bat的小问题!
[打印本页]
作者: sjmm
时间: 2006-2-1 12:08
标题: 大家新年好!请教一个.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
如果可以,那又是为什么呢?
我知道%是代表变量的符号,这样的用法是什么意思?又有什么用处?
请指教!先谢过各位了!
作者: Michael
时间: 2006-2-4 18:14
第二行的"cd dos\game"改为"cd \dos\game".
作者: sjmm
时间: 2006-2-11 12:25
非常感谢!那@C:\DOS71\DOSSHELL\DOSSHELL.COM %1 %2 %3 %4 %5 %6 %7 %8 %9后的@ %1 %2 %3 %4 %5 %6 %7 %8 %9是什么意思?为什么我仿效它做的批处理没用呢?谢谢指教!
作者: chenall
时间: 2006-2-12 09:29
1.后面的%1 %2 ... %9是参数.
有此命令是不需要加参数的.
像你的游戏,一般是不需要的.
使用 e:\dos\game\game1.exe
即可.
2.它无论在任何目录中都可启动,我可否把我的GAME1.BAT仿效它呢?
使用path.
path %path%;e:\dos\game\
game1.exe
作者: willsort
时间: 2006-2-12 10:15
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 ]
作者: sjmm
时间: 2006-2-12 14:57
非常感谢!!!