![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-18 19:45 |
共 47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 求助 if errorlevel的应用 ! |
| 可打印版本 1,079 / 5 |
| 第1楼 terse | 发表于 2007-03-25 07:16 |
| 银牌会员 发帖 946 积分 2,404 | |
|
求助 if errorlevel的应用 ! DOS启动U盘的一段代码:
type %TEMP%\VOL.TXT|find /i "drive C" if errorlevel 1 goto menu echo 判断U盘文件 >%TEMP%\usb.sys :menu 为什么type %TEMP%\VOL.TXT|find /i "drive C"条件不成立也在%TEMP%目录下生成u.sys文件? type %TEMP%\VOL.TXT|find /i "drive C" if errorlevel 1 goto menu :usb-hdd cls call w.bat box (+white on +blue) @DOS.SCR:hd cls if errorlevel 100 goto end if "%?%"=="1" goto menu :menu 为什么type %TEMP%\VOL.TXT|find /i "drive C"条件不成立也跳转到:usb-hdd标签? [ Last edited by terse on 2007-3-25 at 09:02 AM ] |
|
| 第2楼 terse | 发表于 2007-03-26 03:09 |
| 银牌会员 发帖 946 积分 2,404 | |
|
顶上去
|
|
| 第3楼 chenall | 发表于 2007-03-26 09:17 |
| 银牌会员 发帖 469 积分 1,276 来自 福建泉州 | |
|
type %TEMP%\VOL.TXT|find /i "drive C"
if errorlevel 1 goto menu 就是如果 type %TEMP%\VOL.TXT|find /i "drive C" 返回的值大于或等于1就转到menu标签执行. find 的返回值如果找到的就返回0没找到就返回1 也就是当 type %TEMP%\VOL.TXT|find /i "drive C" 的条件不成立时就不跳转,当然就执行下一句了. |
|
| 第4楼 terse | 发表于 2007-03-26 11:42 |
| 银牌会员 发帖 946 积分 2,404 | |
|
谢谢chenall的解答
问题是在%TEMP%VOL.TXT内容不变的情况下,把drive C改为drive A时怎么一样执行echo 判断U盘文件 >%TEMP%\usb.sys这句呢? 如chenall所说的find 的返回值如果找到的就返回0没找到就返回1 也就是找不到的话应该是跳转吧? |
|
| 第5楼 chenall | 发表于 2007-03-26 12:02 |
| 银牌会员 发帖 469 积分 1,276 来自 福建泉州 | |
|
把drive C改为drive A时怎么一样执行echo 判断U盘文件 >%TEMP%\usb.sys这句呢?
这个就根vol.txt这个文件有关了. 这个vol.txt应该是使用vol>%temp%\vol.txt 产生的. 执行的的目录也很重要.如果执行这一句时是在C:下完成的那就会包含drive c 如果在A:下执行的就会包含drive A [ Last edited by chenall on 2007-3-26 at 12:03 PM ] |
|
| 第6楼 terse | 发表于 2007-03-26 12:32 |
| 银牌会员 发帖 946 积分 2,404 | |
|
是的 一开始就执行了 在AUTOEXEC文件里就执行了啊
vol>%temp%\vol.txt是在U盘执行的 一楼的代码是在AUTOEXEC文件后面的BAT文件 [ Last edited by terse on 2007-3-26 at 12:54 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |