中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 我的代码哪里出错了啊? 上一主题 | 下一主题
xiaoyunwang
高级用户




积分 940
发帖 374
注册 2007-10-17
来自 湖南张家界
状态 离线
『楼 主』:  我的代码哪里出错了啊? 使用 LLM 解释/回答一下

其中dic.dic内容为:
-------------------------------------------------------------------------------
:_driver "加载/卸载设备驱动"

提示:如果你想要加载第三方驱动,请将驱动文件拷贝到内存盘~%ramd%\drivers\~
下,(如果文件名扩展名为.exe或.com或.sys可以不输入扩展名),点击
浏览将遍历 ~%ramd%\drivers\~ 目录选择驱动文件.

┏【请输入文件名】━━━━━━━━━━━━━━━━━┓│──────
┃ ┃│
┃ 文件名 : ┃│
┃ ------------------------------------ ┃│
┗━━━━━━━━━━━━━━━━━━━━━━━━━┛│
┏【选项】━━━━━━━━━━━━━━┓┏【操作】━┓│
┃ ┃┃ ┃│──────
┃ 参数: ┃┃ 加载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ 光驱: 指定光驱名 ┃┃ 卸载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ 强制为设备驱动 ┃┗━━━━━┛│
┃ -----------------------------------┃ │ 按 ~ESC~取消
┗━━━━━━━━━━━━━━━━━━┛ │──────
::
-----------------------------------------------------------------------------
:_dr_help
# 加载与卸载设备驱动帮助 ^

+ 例如以 gcdrom.sys 为例加载 SATA 光驱设备驱动, 有些设备驱动需要~强制
为设备驱动~才能加载成功,例如duse.exe。当然~gcdrom.sys~不需要。

┏【请输入文件名】━━━━━━━━━━━━━━━━━┓│──────
┃ ┃│
┃ 文件名: ┃│
┃ ------------------------------------ ┃│
┗━━━━━━━━━━━━━━━━━━━━━━━━━┛│
┏【选项】━━━━━━━━━━━━━━┓┏【操作】━┓│
┃ ┃┃ ┃│──────
┃ 参数: ┃┃ 加载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ 光驱: 指定光驱名 ┃┃ 卸载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ 强制为设备驱动 ┃┗━━━━━┛│
┃ -----------------------------------┃ │ 按 ~ESC~取消
┗━━━━━━━━━━━━━━━━━━┛ │──────
::
=============================================================================
:errchoice "选择错误!"

错误:你没有选择任何文件!


::
-------------------------------------------------------------------------------
:cancel "取消操作!"

你确定要取消操作任务吗?


::
-------------------------------------------------------------------------------
:copyright
版权所有, 盗版不究。 感谢使用 "电脑管理员随身光盘" ! 光盘制作:王小云 ^
::
-----------------------------------------------------------------------------


@echo off
if %1*==?* goto _usg
if %1*==/?* goto _usg
if %1*==-?* goto _usg
for %%a in (h H /H /h -H -h help HELP /HELP /help -help) do if %1*==%%a* goto _usg
if not %1*==* goto cmdload

:main
wbat pal ! cls(blue on +brown) ! text 24,4 @%ramd%\dic.dic:copyright
call w.bat box @%ramd%\dic.dic:_driver
if errorlevel 100 goto quit
if errorlevel 4 goto help
if errorlevel 3 goto cancel
if errorlevel 2 goto brown
if errorlevel 1 goto winload
goto quit

:help
wbat pal ! cls ! fill 6,4 (16,74) (black on +brown)
set Wtexthi=blue on +brown
wbat text 2,4 @%ramd%\dic.dic:_dr_help ! text 24,4 @%ramd%\dic.dic:copyright
set Wtexthi=
wbat box 20,54 确定,取消
if errorlevel 100 goto main
if errorlevel 2 goto quit
if errorlevel 1 goto main
goto quit

:cancel
wbat fix box @%ramd%\dic.dic:_driver
wbat box @%ramd%\dic.dic:cancel #2
if errorlevel 100 goto main
if errorlevel 2 goto main
if errorlevel 1 goto quit
goto quit

:brown
wbat fix box @%ramd%\dic.dic:_driver
if exist %temp%\list.txt del %temp%\list.txt >NUL
DIR %ramd%\drivers\*.* /b/a-d/one > %temp%\list.txt
call W.BAT list 3,60 @%temp%\list.txt
if not %wbat%*==* goto brofile
wbat box @%ramd%\dic.dic:errchoice
if errorlevel 100 goto brown
if errorlevel 2 goto quit
if errorlevel 1 goto brown
goto quit

:brofile
set sfile=%wbat%
strings sname=filename %wbat%
strings extname=fileext %wbat%
goto main

:cmdload
set flag=
loadsys /l |find /i "%1" >NUL
if not errorlevel 1 loadsys /u %1 >NUL
if %2*==/u* goto quit
loadsys /xd /s %1 %2 %3 %4 %5 %6 %7 %8 %9 >NUL
loadsys /l |find /i "%1" >NUL
if not errorlevel 1 set flag=1
goto quit

:winload
if %sfile%*==* goto unsfile
if %wcb1%*==1* if %spr%*==* goto unspr
if %wcb2%*==1* if %scd%*==* goto unscd
if %wcb2%*==1* if %wcb1%*==* goto uncdname
if %wrb%*==2* goto unload
goto load

:unspr
wbat fix box @%ramd%\dic.dic:_driver
wbat box "你√选了~参数~选项但未输入参数!",确定
if errorlevel 100 goto main
goto main

:unscd
wbat fix box @%ramd%\dic.dic:_driver
wbat box "你√选了~光驱~选项但未输入~参数~中给的光驱名!",确定
if errorlevel 100 goto main
goto main

:unsfile
wbat fix box @%ramd%\dic.dic:_driver
wbat box "未指定文件名,无法继续!",确定
if errorlevel 100 goto main
if goto main

:uncdname
wbat fix box @%ramd%\dic.dic:_driver
wbat box "你√选了~光驱~选项,也必须√选~参数~选项,并输入~参数~中的光驱名!",确定
if errorlevel 100 goto main
if goto main

:unload
loadsys /l |find /i "%sname%" >NUL
if not errorlevel 1 goto yeunload
wbat fix box @%ramd%\dic.dic:_driver
wbat box "未发现加载过%sfile%驱动,卸载无法完成!",确定
if errorlevel 100 goto main
goto main

:yeunload
if not %extname%*==* loadsys /u %sname%.%extname% >NUL
if %extname%*==* loadsys /u %sname% >NUL
loadsys /l |find /i "%sname%" >NUL
if not errorlevel 1 goto errunload
wbat box "%sfile%驱动卸载成功!",确定
if errorlevel 100 goto quit
goto quit

:errunload
wbat fix box @%ramd%\dic.dic:_driver
wbat box "%sfile%驱动卸载失败,请确保~文件名~合法!",确定
if errorlevel 100 goto main
goto main

:load
loadsys /l |find /i "%sname%" >NUL
if not errorlevel 1 goto notload
if %wcb3%*==1* set sfor=/od
if not %extname%*==* loadsys %sfor% /xd /s %sname%.%extname% %spr% >NUL
if %extname%*==* loadsys %sfor% /xd /s %sname% %spr% >NUL
loadsys /l |find /i "%sname%" >NUL
if errorlevel 1 goto errload
wbat box "%sfile%驱动加载成功!",确定
if errorlevel 100 goto quit
goto quit

:notload
wbat fix box @%ramd%\dic.dic:_driver
wbat box "发现%sfile%驱动已经加载,不能重复加载!",确定
if errorlevel 100 goto main
goto main

:errload
wbat fix box @%ramd%\dic.dic:_driver
wbat box "%sfile%驱动加载失败,请确保~文件名~合法!",确定
if errorlevel 100 goto main
goto main

:quit


2007-11-18 19:45
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: