中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求助 if errorlevel的应用 ! 上一主题 | 下一主题
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『楼 主』:  求助 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 ]

2007-3-25 07:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 2 楼』:  

顶上去

2007-3-26 03:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




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

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"
的条件不成立时就不跳转,当然就执行下一句了.



QQ:366840202
http://chenall.net
2007-3-26 09:17
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 4 楼』:  

谢谢chenall的解答
问题是在%TEMP%VOL.TXT内容不变的情况下,把drive C改为drive A时怎么一样执行echo 判断U盘文件 >%TEMP%\usb.sys这句呢?
如chenall所说的find 的返回值如果找到的就返回0没找到就返回1 也就是找不到的话应该是跳转吧?

2007-3-26 11:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




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

把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 ]



QQ:366840202
http://chenall.net
2007-3-26 12:02
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 6 楼』:  

是的  一开始就执行了  在AUTOEXEC文件里就执行了啊
vol>%temp%\vol.txt是在U盘执行的
一楼的代码是在AUTOEXEC文件后面的BAT文件

[ Last edited by terse on 2007-3-26 at 12:54 PM ]

2007-3-26 12:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: