xiaoyunwang
高级用户
积分 939
发帖 374
注册 2007-10-17 来自 湖南张家界
状态 离线
|
『楼 主』:
我的代码哪里出错了啊?
其中dic.dic内容为:
-------------------------------------------------------------------------------
:_driver "加载/卸载设备驱动" [x]
提示:如果你想要加载第三方驱动,请将驱动文件拷贝到内存盘~%ramd%\drivers\~
下,(如果文件名扩展名为.exe或.com或.sys可以不输入扩展名),点击
浏览将遍历 ~%ramd%\drivers\~ 目录选择驱动文件.
┏【请输入文件名】━━━━━━━━━━━━━━━━━┓│──────
┃ ┃│ [(&Y)确定]
┃ 文件名 : [$ sfile ] [(&L)浏览]┃│
┃ ------------------------------------ ┃│ [(&Q)取消]
┗━━━━━━━━━━━━━━━━━━━━━━━━━┛│
┏【选项】━━━━━━━━━━━━━━┓┏【操作】━┓│ [(&H)帮助]
┃ ┃┃ ┃│──────
┃ [!]参数: [$ spr ] ┃┃ [.]加载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ [!]光驱: 指定光驱名 [$ scd ] ┃┃ [.]卸载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ [!]强制为设备驱动 ┃┗━━━━━┛│
┃ -----------------------------------┃ │ 按 ~ESC~取消
┗━━━━━━━━━━━━━━━━━━┛ │──────
::
-----------------------------------------------------------------------------
:_dr_help
# 加载与卸载设备驱动帮助 ^
+ 例如以 gcdrom.sys 为例加载 SATA 光驱设备驱动, 有些设备驱动需要~强制
为设备驱动~才能加载成功,例如duse.exe。当然~gcdrom.sys~不需要。
┏【请输入文件名】━━━━━━━━━━━━━━━━━┓│──────
┃ ┃│ [(&Y)确定]
┃ 文件名:[gcdrom.sys ] [(&L)浏览...]┃│
┃ ------------------------------------ ┃│ [(&Q)取消]
┗━━━━━━━━━━━━━━━━━━━━━━━━━┛│
┏【选项】━━━━━━━━━━━━━━┓┏【操作】━┓│ [(&H)帮助]
┃ ┃┃ ┃│──────
┃ [v]参数: [/d:sata-cd ] ┃┃ 加载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ [v]光驱: 指定光驱名 [sata-cd ] ┃┃ [ ]卸载 ┃│
┃ ---------------------------------- ┃┃--------- ┃│
┃ [ ]强制为设备驱动 ┃┗━━━━━┛│
┃ -----------------------------------┃ │ 按 ~ESC~取消
┗━━━━━━━━━━━━━━━━━━┛ │──────
::
=============================================================================
:errchoice "选择错误!" [x]
错误:你没有选择任何文件!
[(B)返回] [(Q)取消]
::
-------------------------------------------------------------------------------
:cancel "取消操作!" [x]
你确定要取消操作任务吗?
[(&Y)确定] [(&B)返回]
::
-------------------------------------------------------------------------------
: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
|
|