![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 13:29 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 我编的DOS批处理..出错了.请看看. |
| 可打印版本 1,452 / 1 |
| 第1楼 gigacong | 发表于 2004-06-19 00:00 |
| 初级用户 发帖 6 积分 116 | |
|
我编的DOS批处理..出错了.请看看. 我在<<>区也发过..但没有什么人回答.有位大哥回答的也不行..所以..来这里也贴贴..别删哦..
各位大大们。我可是初学哦。。 这几天我就编了一个傻瓜式中文菜单的启动盘批处理。。打算制作成装机工具光碟用的。 但,很奇怪!在win98的MSdos下面运行正确,但用磁盘启动时,运行不正确了。它会自己选择第一项选择,我都不明白,哪位大哥帮忙看看,我哪里写错了。 autoexec.bat配置 @echo off path a:\;z:\boot;z:\ghost;z:\dm;z:\winxp LH Mscdex.Exe /D:cd00 /l:z smartdrv 32000 z: tw rem 加载中文显示 echo. echo 欢迎使用懒虫工具碟 echo. echo 请注意操作 echo. echo. echo 分 区 echo 格式化C盘 echo 安装WinXP echo 制作GHOST echo MS-DOS echo. echo. echo 懒虫工作荣誉出品 2004.06.17 echo. echo choice /c:12345 /n if errorlevel 5 goto c_05 if errorlevel 4 goto C_04 if errorlevel 3 goto C_03 if errorlevel 2 goto C_02 if errorlevel 1 goto C_01 :C_01 dm goto end :C_02 format c:/autotest/q/u goto end :C_03 tw/q Ghost.exe -CLONE,MODE=PLOAD,SRC=z:\winxp\xinxp.GHO 1,DST=1 1 -SURE -RB goto end :C_04 tw/q GHOST goto end :c_05 tw/q goto end :end config.sys配置 device=himem.sys buffers=15,0 files=60 buffers=45 dos=umb,high stacks=9,256 device=oakcdrom.sys /D:cd00 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:cd00 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:cd00 devicehigh=ramdrive.sys /D:cd00 lastdrive=z 用磁盘运行后批处理自己选择第一项选择..菜单是出来了.但没有选择的地方.只是可以看. 这个批处理在win98的ms-dos方式上试过,没有事. 这到底是怎么一回事.. 哪个大大提供别的中文显示文件,或拼音、五笔输入法。 因为有时间在DOS COPY中文的文件好难。 谢谢各位了。 有什么要改进的请详细说明一下。这是我第一个批处理, 请各位大力批评、指导。 |
|
| 第2楼 willsort | 发表于 2004-06-20 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re gigacong:
echo 这很可能是CHOICE的问题,请检查你的启动盘中的CHOICE版本是否正确,并且位于批处理可调用的路径。因为CHOICE无法执行时,系统的ERRORLEVEL一般会保持为零,另外在某些特殊情况下也会自动返回零值的ERRORLEVEL,所以所有的GOTO都将无法执行,以致于程序进程错乱。 这个错误引伸出了一个防御性程序设计的问题,虽然批处理是一种简单的脚本语言,但是在某些应用场合,我们仍然需要设计一些防御性代码,以免系统故发生故障时造成不必要的损失。在这个程序中,我们就需要在if errorlevel 1...之后加上一句 GOTO Error 或者简单的 GOTO End,防止因为各种原因(比如磁盘损坏导致CHOICE损坏或者CHOICE的路径未写进默认路径中)而导致Errorlevel为零时,程序进程窜入下面的功能模块,如果这个模块恰巧时自动格式化模块,那么损失将是严重的。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |