无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4133|回复: 9
打印 上一主题 下一主题

对小马WINPE的的几个建议和全面改进(合盘提取,驱动分离,PETOOLS)

[复制链接]
跳转到指定楼层
1#
发表于 2010-11-10 22:17:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小马的WINPE做的不错,但是我觉得还是值得改进,下面我对小马WINPE提出个人观点以及提出改进方法,包含了原代码,转贴请著名出处
一.对光盘中MAKEISO批处理的改进:
修改内容:一是精简优化部分代码;二是修正一些错误,如选择提示;三是对版面进行了微调;四是如果提取110M迷你网络,增加一个用户自定义的MAKEISO.LST文件以便用户自己定义提取那些东东
代码如下:
  1. @echo off
  2. :: 修改内容:一是精简优化部分代码;二是修正一些错误,如果选择提示;三是对版面进行了微调
  3. pushd %~dp0
  4. color 0b
  5. set prog=小马WINPE专用单ISO提取鸿越修改版
  6. title %prog%
  7. If Not Exist boot\oscdimg.exe Echo 没有找到安装文件oscdimg,请确保WINPE文件的完整!&&pause>nul&&Exit
  8. set l1=      ╭══════════════════╮
  9. set l2=      ║                  ║
  10. set l3=   ╭══┤  %prog%├══╮
  11. set l4=   ║  ║                  ║  ║
  12. set l5=   ║  ╰══════════════════╯  ║
  13. set l6=   ║                        ║
  14. set l7=   ╟════════════════════════╢
  15. set l8=   ║ 版权所有:鹭鸟工作室              盗版不究  ║
  16. set l9=   ╰────────────────────────╯

  17. ::checkos
  18. if /i not "%os%."=="windows_nt." goto systemerro
  19. ::判断系统内核winver并设置系统版本theos
  20. ver|find /i " 6.1">nul &&set winver=WIN7&&  set theos=WIN7
  21. ver|find /i " 6.0">nul &&set winver=VISTA&&  set theos=VISTA
  22. ver|find /i " 5.0">nul &&set winver=WINNT&&  set theos=2000
  23. ver|find /i " 5.1">nul &&set winver=WINNT&&  set theos=XP
  24. ver|find /i " 5.2">nul &&set winver=WINNT&&  set theos=2003
  25. goto start

  26. :systemerro
  27. cls
  28. echo.
  29. echo.
  30. echo  注意:未经测试,本软件可能不适用于非 windows pe/2000/xp/2003/vista/win7 操作系统。
  31. echo  按回车键退出安装程序
  32. pause >nul
  33. exit

  34. :start
  35. cls
  36. set choice=
  37. set ismm=
  38. title %prog%—请选择提取模式
  39. echo.
  40. echo %l1%
  41. echo %l2%
  42. echo %l3%
  43. echo %l4%
  44. echo %l5%
  45. echo %l6%
  46. echo    ║  请选择提取模式:                ║
  47. echo    ║                                              ║
  48. echo    ║ [1] 提取 33m  内核骨头版  (仅含有系统内核)   ║
  49. echo    ║                                              ║
  50. echo    ║ [2] 提取 50m  迷你u盘版   (仅外置BASIC包)     ║
  51. echo    ║                                              ║
  52. echo    ║ [3] 提取 100m 网络维护版  (含有网络和安装程序)║
  53. echo    ║                                              ║
  54. echo    ║ [4] 提取 220m 迷你小盘版  (砍掉了ie和wmp10)   ║
  55. echo    ║                                              ║
  56. echo    ║ [q] 退出提取模式                 ║
  57. echo %l6%
  58. echo %l7%
  59. echo %l8%
  60. echo %l9%
  61. echo.
  62. echo            您现在使用的是Windows %theos% 操作系统 !
  63. echo.

  64. set /p choice= 请选择要进行的操作(1/2/3/4/q) ,然后按回车:
  65. if "%choice%"=="" goto start
  66. if not "%choice%"=="" set choice=%choice:~0,1%
  67. if /i "%choice%"=="1" set mkiso=gutou
  68. if /i "%choice%"=="2" set mkiso=50mu
  69. if /i "%choice%"=="3" set mkiso=100mnet
  70. if /i "%choice%"=="4" set mkiso=220mini
  71. if "%save%"=="" call:savedir
  72. set isodir=%save%\winpe
  73. set isotem=%isodir%\%mkiso%
  74. goto:mkiso
  75. if /i "%choice%"=="q" exit
  76. goto start

  77. :savedir
  78. :: 修为:由于是公用,所以单独提取出来
  79. cls
  80. echo.&&echo.
  81. set /p save=请设定%mkiso%文件存放的分区符[不需要冒号,例如 D(推荐)]:
  82. if not "%save%"=="" set save=%save:~0,1%:
  83. goto:eof

  84. :mkiso
  85. cls
  86. title %prog%——正在制作%mkiso%.ISO文件...
  87. echo.
  88. echo.
  89. echo 正在整理必要文件,请稍后...

  90. :: 1.先提取公用模块骨头版,该版本不包含任何外挂WIM文件,但用户可以把minipe\WINPE.ini放置在U盘或硬盘根目录并把需要的程序和系统WIM文件分别放置到minipe\programs和minipe\system中,WINPE将自动加载到对应的程序或系统目录
  91. :: 另外小马版WINPE.ini是由启动镜像系统目录中的PECMD.INI全盘搜索而加载的,从而解决了及时是骨头版也可以扩展自己的应用程序;PETOOLS更是可以直接从所有磁盘根目录PETOOLS下加载程序并创建对应的快捷键。这两个方法特别适合U盘加载ISO骨头版从而减小内存占用
  92. set bootfile=boot\pe.bif
  93. if not exist "%isotem%" md "%isotem%"
  94. copy WINPE.im_ %isotem%\ /y>nul
  95. copy winnt.xpe %isotem%\ /y>nul
  96. copy bootfont.bin %isotem%\ /y>nul
  97. xcopy wxpe /e %isotem%\wxpe\ /h/r/c/y>nul
  98. if /i "%choice%"=="2" (call:50mu)
  99. if /i "%choice%"=="3" (call:50mu&&call:100mnet)
  100. if /i "%choice%"=="4" (call:220mini)
  101. cls

  102. echo.
  103. echo.
  104. echo 正在生成%mkiso%.ISO文件到%isotem% 目录...
  105. if exist boot\oscdimg.exe (
  106.   boot\oscdimg.exe -b"%bootfile%" -h -n -l"%mkiso%" -o "%isotem%" -t10/01/2010,00:00:00 "%isodir%\%mkiso%.iso">nul
  107. )

  108. title %prog%——制作完成
  109. rd /s /q %isotem%
  110. cls
  111. echo.
  112. echo. %mkiso%文件已成功生成至%isodir%目录内...
  113. echo.
  114. set /p ismm=返回主菜单请输入Y,输入Q退出,其他键打开该ISO文件。
  115. if /i "%ismm%"=="Y" call :start
  116. if /i "%ismm%"=="Q" EXIT
  117. start "" "%isodir%\%mkiso%.iso"
  118. EXIT

  119. :: 2.提取基础版(迷你u盘版),该版本在骨头版基础上增加了基础工具包basic.wim
  120. :50mu
  121. if not exist %isotem%\minipe md %isotem%\minipe
  122. if not exist %isotem%\minipe\programs md %isotem%\minipe\programs
  123. copy minipe\bliss.jpg %isotem%\minipe\ /y>nul
  124. copy minipe\WINPE.ini %isotem%\minipe\ /y>nul
  125. copy minipe\programs\basic.wim %isotem%\minipe\programs\ /y>nul

  126. goto:eof

  127. :: 3.提取网络维护版,该版本在基础版本上增加了WINPE安装工具,增加了启动菜单和工具,增加了一些WIM外挂网络工具包
  128. :: 为了不修改本程序,这里使用加载一个用户文件列表文件来加载指定的WIM文件
  129. :100mnet
  130. set bootfile=boot\loader.bin
  131. if not exist %isotem%\minipe\system md %isotem%\minipe\system
  132. if not exist %isotem%\minipe\drivers md %isotem%\minipe\drivers
  133. xcopy setup /e %isotem%\setup\ /y /h /r>nul
  134. xcopy boot /e %isotem%\boot\ /y /h /r>nul
  135. copy menu.lst %isotem%\ /y>nul
  136. copy minipe\drivers\InfCacheBuild.exe %isotem%\minipedrivers\ /y>nul
  137. copy minipe\drivers\HYSOFT.INI %isotem%\minipedrivers\ /y>nul
  138. copy minipe\drivers\START_DRV.CMD %isotem%\minipedrivers\ /y>nul
  139. if not exist ".\wimlist.ini" (
  140.   copy minipe\system\mmc.wim %isotem%\minipe\system\ /y>nul
  141.   copy minipe\system\system.wim %isotem%\minipe\system\ /y>nul
  142.   copy minipe\drivers\DRIVERS_NET.CAB %isotem%\minipe\drivers\ /y>nul
  143.   copy minipe\drivers\DRIVERS_NET_WIRELESS.CAB %isotem%\minipe\drivers\ /y>nul
  144.   copy minipe\programs\nettools.WIM %isotem%\minipe\programs\ /y>nul
  145.   copy minipe\programs\diskgenius.wim %isotem%\minipe\programs\ /y>nul
  146.   copy minipe\programs\everest.wim %isotem%\minipe\programs\ /y>nul
  147.   copy minipe\programs\ghost.wim %isotem%\minipe\programs\ /y>nul
  148.   copy minipe\programs\Firefox.WIM %isotem%\minipe\programs\ /y>nul
  149. )
  150. IF EXIST ".\wimlist.ini" (
  151.    FOR /F "EOL=;DELIMS=" %%I IN (.\wimlist.ini) DO call copy "%%I" "%isotem%\%%I"/y >nul
  152.    )
  153. goto:eof

  154. :: 4.提取小盘维护版,复制所有文件
  155. :220mini
  156. set bootfile=boot\loader.bin
  157. xcopy *.* %isotem%\ /e /y /h /r>nul
  158. if exist %isotem%\autorun.inf attrib +h +r %isotem%\autorun.inf /s /d
  159. if exist %isotem%\background.bmp attrib +h +r %isotem%\background.bmp /s /d
  160. if exist %isotem%\datapane.bmp attrib +h +r %isotem%\datapane.bmp /s /d
  161. if exist %isotem%\startcd.ini attrib +h +r %isotem%\startcd.ini /s /d
  162. goto:eof
复制代码
二.对驱动安装包进行了分离,而且对代码进行了大量优化处理
驱动更改(驱动更新到http://bbs.wuyou.net/forum.php?mod=viewthread&tid=134718&;extra=page%3D2)
1.采用分离设计,把驱动支持WIM(放system目录)和CAB驱动程序(放drivers目录)分离并把CAB驱动程序单独提取出来,这样方便驱动更新。我对驱动支持批处理和驱动安装批处理的代码进行了重新编写,所有驱动安装在一个批处理中完成。
2.删除3D音效这个无用而庞大的文件sound\DSOUND3D.DLL
3.在网络WIM中增加TEAMVIEWER需要的sensapi.dll和SOUGUO浏览器需要的t2embed.dll核心文件;增加QQLIVE多媒体QUARTZ.DLL(无该文件缓冲90%不动)/jscript.dll,MSHTML.DLL,MSHTML.TLB,MSHTMLED.DLL,MSLS31.DLL网络相关文件(无这些文件则无法显示媒体库)到对应的SOUND.WIM和SYSTEM.WIM中并注册,注意的是IE和wmp10中已经包含这些文件,如果存在这些包则可不用包含这些文件
4.网卡相关的网络工具NETTOOLS、INTERNET EXPLORER、opera.wim、tm2008.wim和声卡相关多媒体程序multimedia、wmp10.wim等并单独封包WIM,安装网卡和声卡时才创建对应的快捷方式(main.ini改为hysoft.ini以便被自动执行安装,如果没有hysoft.ini则自动创建以便在不改变当前路径的情况对批处理进行处理)
5.关于浏览器选择:建议首先选用不依赖IE内核的浏览器,如谷歌/OPERA/FIREFOX浏览器/SOGOU双核浏览器。

驱动目录中HYSOFT.INI用于创建快捷方式,代码如下
  1. `驱动更新到http://bbs.wuyou.net/forum.php?mod=viewthread&tid=134718&extra=page%3D2
  2. LINK !%Desktop%\安装我的驱动,%CurDir%\START_DRV.CMD,DRV,%SystemRoot%\system\HANGUP.ICO
  3. LINK !%Desktop%\安装所有驱动,%CurDir%\START_DRV.CMD,ALL,%CurDir%\InfCacheBuild.exe
  4. LINK %Programs%\驱动支持\安装所有驱动,%CurDir%\START_DRV.CMD,ALL,%CurDir%\InfCacheBuild.exe
  5. LINK %Programs%\驱动支持\安装声卡驱动,%CurDir%\START_DRV.CMD,SOUND,%SystemRoot%\sound\SOUND_PART.ICO
  6. LINK %Programs%\驱动支持\安装网卡驱动,%CurDir%\START_DRV.CMD,NET,%SystemRoot%\system\NET_PART.ICO
  7. LINK %Programs%\驱动支持\安装我的驱动,%CurDir%\START_DRV.CMD,DRV,%SystemRoot%\system\HANGUP.ICO
  8. LINK %Programs%\驱动支持\安装显卡驱动,%CurDir%\START_DRV.CMD,VGA,%CurDir%\AutoSC.exe
  9. LINK %Programs%\驱动支持\万能显卡驱动1,%CurDir%\万能显卡驱动1.EXE
  10. LINK %Programs%\驱动支持\万能显卡驱动2,%CurDir%\万能显卡驱动2.EXE
  11. LINK %Programs%\驱动支持\万能显卡驱动说明,%CurDir%\万能显卡驱动说明.TXT
  12. `IFEX %CurDir%\START_DRV.CMD,EXEC !%CurDir%\START_DRV.CMD
  13. EXIT
复制代码
所有驱动安装只用一个批处理START_DRV.CMD,代码如下:
  1. @ECHO OFF
  2. :: 本WINPE德常用驱动更新地址http://bbs.wuyou.net/forum.php?mod=viewthread&tid=134718&extra=page%3D2
  3. :: 如果内置驱动无法找到,可以使用XCAB或PECAB把自己或收集的驱动打包为CAB或者直接把INF驱动放本目录使用本工具加载即可,另外本程序也试图从本地硬盘的WINDOWS目录搜索相关驱动程序并安装
  4. mode con cols=70 lines=25
  5. COLOR 02
  6. CLS
  7. ECHO.
  8. ECHO    ╔──────────────────────────────╗
  9. ECHO    │                                                            │
  10. ECHO    │                  鸿越WINPE驱动支持工具                     │
  11. ECHO    │              本程序由鸿越软件小布点编写制作                │
  12. ECHO    │         你可把自己的驱动用PECAB打包后用本工具加载          │
  13. ECHO    │     本程序可以自由复制,使用和发布,版权归作者本人所有       │
  14. ECHO    │  QQ:9399100 QQ群号:29946542 E-MAIL:xiaobudian528@sina.com  │
  15. ECHO    │                                                            │
  16. ECHO    ╚──────────────────────────2010─㊣╝
  17. ECHO.
  18. ECHO.
  19. REG ADD "HKCU\SOFTWARE\Microsoft\Driver Signing" /f /v "Policy" /t REG_BINARY /d 00>NUL
  20. REG ADD "HKCU\SOFTWARE\Microsoft\Driver Signing" /f /v "Policy" /t REG_BINARY /d 00>NUL
  21. IF /I "%1"=="SOUND" GOTO:SOUND
  22. IF /I "%1"=="NET" GOTO:NET
  23. IF /I "%1"=="VGA" GOTO:VGA
  24. IF /I "%1"=="DRV" GOTO:DRV
  25. IF /I "%1"=="ALL" (TITLE 一键安装所有驱动&&GOTO:ALL)
  26. GOTO:ALL

  27. :INFCACHE
  28. START /Wait .\InfCacheBuild.exe %SystemRoot%
  29. PECMD UPNP -pnp
  30. GOTO:EOF

  31. :NETLINK
  32. SET K=HKLM\SYSTEM\CurrentControlSet\Services&&SET W=AutoShareServer&&SET S=AutoShareWks
  33. REG ADD %K%\Lanmanserver\parameters /v %S% /t REG_DWORD /d 0 /f>nul
  34. REG ADD %K%\Lanmanserver\parameters /v %W% /t REG_DWORD /d 0 /f>nul
  35. REG ADD %K%\lanmanworkstation\parameters /v %S% /t REG_DWORD /d 0 /f>nul
  36. REG ADD %K%\lanmanworkstation\parameters /v %W% /t REG_DWORD /d 0 /f>nul
  37. REGSVR32 /s %windir%\system32\stobject.dll
  38. FOR /F %%i IN ('@reg query "HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}" /s^|find /i "\Connection"') DO >nul REG ADD %%i /v ShowIcon /t REG_DWORD /d 1 /f>nul
  39. ::安装和启动无线网络(由于驱动支持中安装会跳出对话框所以转移到这里)
  40. PECMD UPNP -v -c s -i MS_WZCSVC
  41. PECMD SERV WZCSVC
  42. If Exist "%USERPROFILE%\桌面\安装网卡驱动.LNK" DEL "%USERPROFILE%\桌面\安装网卡驱动.LNK"
  43. PECMD IFEX %ProgramFiles%\nettools\hysoft.ini,load %ProgramFiles%\nettools\hysoft.ini
  44. IF EXIST "%ProgramFiles%\INTERNET EXPLORER\IEXPLORE.EXE" (
  45.    DEL /Q/F "%ProgramFiles%\INTERNET EXPLORER\MSHTML*" >NUL
  46.    ECHO EXEC !%%CurDir%%\INSIE6.CMD>"%ProgramFiles%\INTERNET EXPLORER\hysoft.ini"
  47.    PECMD load %ProgramFiles%\INTERNET EXPLORER\hysoft.ini
  48. )
  49. GOTO:EOF

  50. :SOUNDLINK
  51. :: 不能在INI中使用PECMD EXEC来执行批处理,除非在批处理中PUSHD %~dp0转到当前路径处理,否则路径有问题,这里不对WMP10.WIM进行修改而添加HYSOFT.INI以便使用PECMD LOAD进行处理
  52. If Exist "%USERPROFILE%\桌面\安装声卡驱动.LNK" DEL "%USERPROFILE%\桌面\安装声卡驱动.LNK"
  53. PECMD IFEX %ProgramFiles%\multimedia\hysoft.ini,load %ProgramFiles%\multimedia\hysoft.ini
  54. IF EXIST %ProgramFiles%\WMP10\INSWMP.CMD (
  55.    DEL /Q/F %ProgramFiles%\WMP10\QUARTZ.DLL>NUL
  56.    ECHO EXEC !%%CurDir%%\INSWMP.CMD>"%ProgramFiles%\WMP10\hysoft.ini"
  57.    PECMD load %ProgramFiles%\WMP10\hysoft.ini
  58. )
  59. GOTO:EOF

  60. :SOUND
  61. ECHO 正在安声卡驱动...
  62. PECMD.EXE DEVI ".\DRIVERS_SOUND.CAB"
  63. CALL:INFCACHE
  64. CALL:SOUNDLINK
  65. GOTO:END

  66. :NET
  67. ECHO 正在安网卡驱动...
  68. FOR /F %%i IN ('Dir /B /A-D ^".\DRIVERS_NET*.CAB^"') DO PECMD DEVI ".\%%i"
  69. CALL:INFCACHE
  70. CALL:NETLINK
  71. GOTO:END

  72. :VGA
  73. ECHO 正在安显卡驱动...
  74. PECMD.EXE DEVI ".\DRIVERS_VGA.CAB"
  75. CALL:INFCACHE
  76. If Exist "%USERPROFILE%\桌面\安装显卡驱动.LNK" DEL "%USERPROFILE%\桌面\安装显卡驱动.LNK"
  77. ::START /Wait .\AutoSC.exe
  78. GOTO:END

  79. :DRV
  80. ECHO 正在安装用户自定义驱动...
  81. :: 搜索MYDRIVERS下的驱动文件和系统目录的驱动文件,如果还找不到就使用当前内置驱动程序,为了减小体积,建议使用SMARTDRIVERS提取驱动并用PECAB打包(不打包发现不能直接加载INF文件)MYDRV.CAB文件,其他驱动包则可省略
  82. ::FOR /R  %%I IN (*.INF) DO CALL PECMD.EXE DEVI %%I
  83. ::FOR /R  %%I IN (.) DO CALL PECMD.EXE DEVI "%%I\*.INF"
  84. PECMD.EXE DEVI ".\DRIVERS_MY*.CAB"
  85. PECMD.EXE DEVI ".\MY*.CAB"
  86. If Exist "%USERPROFILE%\桌面\安装显卡驱动.LNK" DEL "%USERPROFILE%\桌面\安装显卡驱动.LNK"
  87. If Exist "%USERPROFILE%\桌面\安装我的驱动.LNK" DEL "%USERPROFILE%\桌面\安装我的驱动.LNK"
  88. If Exist "%USERPROFILE%\桌面\安装所有驱动.LNK" DEL "%USERPROFILE%\桌面\安装所有驱动.LNK"
  89. :: ECHO 正在搜索系统目录下的驱动...
  90. ::PECMD.EXE DEVI \Windows\Inf\*.inf
  91. ::PECMD.EXE DEVI \WINNT\Inf\*.inf
  92. CALL:INFCACHE
  93. CALL:SOUNDLINK
  94. CALL:NETLINK
  95. GOTO:END

  96. :ALL
  97. :: 安装所有驱动包含了用户驱动包
  98. ECHO 正在安装声显网驱动...
  99. PECMD.EXE DEVI ".\*.CAB"
  100. If Exist "%USERPROFILE%\桌面\安装所有驱动.LNK" DEL "%USERPROFILE%\桌面\安装所有驱动.LNK"
  101. If Exist "%USERPROFILE%\桌面\安装我的驱动.LNK" DEL "%USERPROFILE%\桌面\安装我的驱动.LNK"
  102. CALL:INFCACHE
  103. CALL:SOUNDLINK
  104. CALL:NETLINK
  105. GOTO:END


  106. :END
  107. ECHO 完成安装,正在进行后期处理...
  108. DEL /Q/F %SystemRoot%\INF\*.PNF %SystemRoot%\INF\INFCACHE.1
  109. REG ADD "HKCU\SOFTWARE\Microsoft\Driver Signing" /f /v "Policy" /t REG_BINARY /d 00>NUL
  110. REG ADD "HKCU\SOFTWARE\Microsoft\Driver Signing" /f /v "Policy" /t REG_BINARY /d 00>NUL
  111. PECMD FIND EXPLORER.EXE,KILL EXPLORER.EXE
  112. IF EXIST %SystemRoot%\system\PENetCfg.exe Start "" "%SystemRoot%\system\PENetCfg.exe "
  113. EXIT
  114. [code]
  115. 三.虽然PETOOLS的外置程序没有多大问题,但是我也对其进行了改良,原来文件比较多,现在只需要一个批处理即可,而且代码非常智能,在自动创建外置PETOOLS的创建快捷方式的同时,能自动导入注册表或者执行INF安装,还可以指定批处理参数1用于整合到原始菜单中.代码如下:
  116. [code]
  117. @ECHO OFF
  118. :: 鸿越软件原创工具,在自动创建外置PETOOLS的创建快捷方式的同时,能自动导入注册表或者执行INF安装,还可以指定批处理参数1用于整合到原始菜单中
  119. :: 使用方法:如果要自动加载则在WINPE.INI中添加一行FORX !\PETOOLS\PETOOLS.INI,MYPETOOLS,1,LOAD %MYPETOOLS%
  120. ::          MAIN.INI中的代码只是加载本批处理EXEC !%CurDir%\PETOOLS.CMD
  121. mode con cols=70 lines=25
  122. COLOR 02
  123. CLS
  124. ECHO.
  125. ECHO    ╔──────────────────────────────╗
  126. ECHO    │                                                            │
  127. ECHO    │                 鸿越PETOOLS自动搜索工具                    │
  128. ECHO    │              本程序由鸿越软件小布点编写制作                │
  129. ECHO    │         你可把自己的驱动用PECAB打包后用本工具加载          │
  130. ECHO    │     本程序可以自由复制,使用和发布,版权归作者本人所有       │
  131. ECHO    │  QQ:9399100 QQ群号:29946542 E-MAIL:xiaobudian528@sina.com  │
  132. ECHO    │                                                            │
  133. ECHO    ╚──────────────────────────2010─㊣╝
  134. ECHO.
  135. ECHO.
  136. SET WGZY=外挂资源
  137. FOR /F "TOKENS=2*" %%I IN ('REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Programs" ^|find "Programs"') DO SET myprg=%%J
  138. IF EXIST "%myprg%\PETOOLS" RD /Q/S "%myprg%\PETOOLS"
  139. for /r %%i in (*.exe *.wim *.reg *.inf *.txt) do (
  140.     if not exist "%myprg%%%~pi" md "%myprg%%%~pi"
  141.     if /i "%%~xi"==".reg" regedit /s "%%i"
  142.     if /i "%%~xi"==".inf" (
  143.          ECHO %%~xi|FIND "%WGZY%"
  144.          IF "%ERRORLEVEL%"=="1" RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 "%%i"
  145.     ) else (
  146.     echo 正在创建%%i的快捷方式
  147.     pecmd link %myprg%%%~pi%%~ni,%%i
  148.    )
  149. )
  150. :: 对外挂XP资源进行处理,使用原来的菜单
  151. IF EXIST "%myprg%\PETOOLS\%WGZY%"  RD /Q/S "%myprg%\PETOOLS\%WGZY%"
  152. CALL .\%WGZY%\XP资源快捷方式.CMD
  153. :: 如果用户想把现在的菜单和原来的菜单整合则可以使用批处理参数1
  154. if /i "%1"=="1" xcopy /y /s "%myprg%\PETOOLS\*.*"  "%myprg%">NUL
  155. if /i "%1"=="1" RD /Q/S "%myprg%\PETOOLS"
  156. exit
复制代码


最后,由于更改了很多东西,所以WINPE.INI需要变更以下,代码如下
  1. _sub mountwimfile
  2.         name wimname=%swim%
  3.         moun %swim%,%mountpath%\%wimname%\,1
  4.         load %mountpath%\%wimname%\main.ini
  5. _end

  6. team envi soft=%curdrv%\minipe|envi bsc=%soft%\programs|envi sys=%soft%\system|envi drv=%soft%\drivers|envi pf=pagefile.sys
  7. `forx \%pf%,lastpf,0,file %lastpf%
  8. load %drv%\hysoft.ini `安装驱动,创建加载驱动的快捷方式,采用驱动支持和驱动包分离形式以便随时更新驱动
  9. envi mountpath=%systemroot%
  10. forx %sys%\*.wim,swim,0,call mountwimfile `安装system目录下的声卡和网卡驱动支持,其中也包括了DX和MMC工具
  11. envi mountpath=x:\program files
  12. forx %bsc%\*.wim,swim,0,call mountwimfile `安装基础应用程序,其中部分没有使用main.ini的表示纯绿色,如果包含hysoft.ini表示我的专用包,在安装驱动时自动安装
  13. FORX !\PETOOLS\PETOOLS.INI,MYPETOOLS,1,LOAD %MYPETOOLS% `安装PETOOLS中的非WIM包外置程序,如果没有本命令也可以在进入WINPE使用另外一个PETOOLS加载工具加载
  14. ifex %curdrv%\startcd.exe,link %startmenu%\winpe安装程序,%curdrv%\startcd.exe    `开始菜单建立光盘自动播放快捷方式
  15. find mem>168,wall %soft%\bliss.jpg `设置桌面背景
  16. ifex %bsc%\internet explorer.wim,envi $path=%path%;%programfiles%\internet explorer `添加IE环境变量
  17. exit
复制代码

[ 本帖最后由 HUNRYBECKY 于 2010-11-10 22:19 编辑 ]
2#
发表于 2010-11-11 00:18:36 | 只看该作者
非常好,学习了,自己修改一下。
回复

使用道具 举报

3#
发表于 2010-11-11 08:26:11 | 只看该作者
也很喜欢小马哥的PE,不过没有楼主这么深水平提不出好建议来,无线网卡驱动好加吗?
回复

使用道具 举报

4#
 楼主| 发表于 2010-11-11 22:20:31 | 只看该作者
原帖由 llztt 于 2010-11-11 08:26 发表
也很喜欢小马哥的PE,不过没有楼主这么深水平提不出好建议来,无线网卡驱动好加吗?


无线网卡很好加。使用SMARTDRIVE提取后再使用PECAB或XCAB工具打包为CAB文件,放到驱动目录即可。
回复

使用道具 举报

5#
发表于 2010-11-11 22:27:04 | 只看该作者
LZ说的小马PE是哪版的?
是 小马_WINPE_2K3_永久珍藏_深度五周年纪念版(Build101022)么?
回复

使用道具 举报

6#
 楼主| 发表于 2010-11-12 20:30:22 | 只看该作者
原帖由 zhdd2000 于 2010-11-11 22:27 发表
LZ说的小马PE是哪版的?
是 小马_WINPE2K3_永久珍藏_深度五周年纪念版(Build101022)么?


我的不是最新版本的,看了下,最新版本没有增加新功能,只是修正了一些错误,由于我自己修改的地方比较多,所以一直没有更新。小马PE没有打印机功能,最近正准备集成。
回复

使用道具 举报

7#
发表于 2010-11-12 21:13:50 | 只看该作者
比较深奥,学习了,谢谢。
回复

使用道具 举报

8#
发表于 2010-11-14 14:58:26 | 只看该作者
小马PE做的不错。多谢!

[ 本帖最后由 photo510 于 2010-11-14 15:27 编辑 ]
回复

使用道具 举报

9#
发表于 2010-11-14 18:55:15 | 只看该作者
谢谢楼主的热心优化,希望更多人以此版为模板,diy适合自己的PE。
回复

使用道具 举报

10#
发表于 2010-11-14 20:32:12 | 只看该作者
恩那,支持小马哥PE越做越好,最近整的几个盘都是集成了小马哥的PE呢。。

坛里其他几位大大的,尤其是集成多个PE的模板,实在没时间和能力去消化了,而且也觉得多个PE使用率太低,所以就一个足矣。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-14 00:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表