无忧启动论坛

标题: 毛桃:看您的批处理头都大了 [打印本页]

作者: secowu    时间: 2007-10-19 23:07
标题: 毛桃:看您的批处理头都大了
本想增加一项,安装到U盘后,还能再利用U盘的PE资料再安装到其它媒体上去的

看得晕,白忙活了。。。

看您老人家有空,整个吧。。。。
作者: secowu    时间: 2007-10-19 23:53
XP SP2下,%CD%返回的有/
而在Vista下,有时有,有时没有。真郁闷
作者: secowu    时间: 2007-10-20 00:16
改成这个试下:
密码设置完成,请牢记您的密码,并按任意键继续 。。。
正在复制文件,请稍候 。。。
==============================================
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
100% 已复制 已复制         1 个文件。
92% 已复制

  1. @Echo Off
  2. COLOR 2F
  3. Set Prog=        WinPE 专用安装工具     
  4. Set L1=      ╭══════════════════╮
  5. Set L2=      ║                  ║
  6. Set L3=   ╭══┤ %Prog%  ├══╮
  7. Set L4=   ║  ║                  ║  ║
  8. Set L5=   ║  ╰══════════════════╯  ║
  9. Set L6=   ║                        ║
  10. Set L7=   ╟════════════════════════╢
  11. Set L8=   ║                                              ║
  12. Set L9=   ╰────────────────────────╯
  13. Title %Prog%
  14. FOR /F "delims=" %%I in (%0) do Set CP=%%~dpI
  15. Set SetupINIFile=PESetup.INI
  16. Set PEFile=MiniPE\WinPE.IS_
  17. Set PEIni=MiniPE\WinPE.INI
  18. Set LogFile=PEInstall.log
  19. If Not Exist .\PESETUP.INI Goto Err0
  20. For /F "tokens=2 delims=^=" %%I In ('FIND /I ^"外置程序包^" .\%SetupINIFile%') DO Set OPFile=MiniPE\%%I
  21. Set AddATTR=ATTRIB +S +H +R
  22. Set DelATTR=ATTRIB -S -H -R
  23. :Start
  24. CLS
  25. Title %Prog%——安装
  26. Echo.
  27. Echo %L1%
  28. Echo %L2%
  29. Echo %L3%
  30. Echo %L4%
  31. Echo %L5%
  32. Echo %L6%
  33. Echo    ║  请选择安装方式:               ║
  34. Echo %L6%
  35. Echo    ║  [1] 普通安装/启动 (硬盘安装)        ║
  36. Echo    ║  [2] Grub安装/启动 (硬盘安装,支持 MD5 密码) ║
  37. Echo    ║  [3] Aero安装/启动 (硬盘安装,支持密码)   ║
  38. Echo    ║  [4] Grub安装/启动 (U 盘、移动硬盘安装)   ║
  39. Echo    ║  [Q] 退出安装                ║
  40. Echo %L6%
  41. Echo %L7%
  42. Echo    ║ 注意: Aero 安装项只适合系统分区在(HD0,0)分区 ║
  43. Echo %L7%
  44. Echo %L8%
  45. Echo %L9%
  46. Echo.
  47. Set Choice=
  48. Set /P Choice=   请选择要进行的操作 (1/2/3/4/Q) ,然后按回车:
  49. If "%Choice%"=="" Goto Start
  50. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  51. If /I "%Choice%"=="1" Goto HD
  52. If /I "%Choice%"=="2" Goto HD
  53. If /I "%Choice%"=="3" Goto HD
  54. If /I "%Choice%"=="4" Goto UD
  55. If /I "%Choice%"=="Q" Exit
  56. Goto Start
  57. :HD
  58. Set RP=
  59. For %%I In (Z Y X W V U T S R Q P O N M L K J I H G F E D C) Do If Exist %%I:\BOOT.INI Set RP=%%I:
  60. If "%RP%"=="" Goto HDRPErr
  61. Set PEDIR=%RP%\MiniPE&&Set TargetP=硬盘&&Set TxtSp=
  62. If Exist %PEDIR% Goto Err1
  63. FIND /I "C:\MAOTAO" %RP%\BOOT.INI>NUL 2>NUL
  64. If "%Errorlevel%"=="0" Goto Err1
  65. FIND /I "C:\MiniPE" %RP%\BOOT.INI>NUL 2>NUL
  66. If "%Errorlevel%"=="0" Goto Err1
  67. If /I "%Choice%"=="1" Goto Install
  68. If /I "%Choice%"=="2" Goto GInstall
  69. If /I "%Choice%"=="3" Goto AInstall
  70. Goto HD
  71. :UD
  72. CLS
  73. Title %Prog%——U 盘安装
  74. For /F "skip=2 tokens=*" %%I In ('MYINS\CHECKUSB.EXE') DO SET Us=%%I
  75. If "%Us%"=="当前可移动磁盘分区:" Goto NoUD
  76. Echo %Us%&&Echo.
  77. If "%NoUD%"=="Yes" Echo 错误:您设定的分区 %RP% 不存在、写保护、未格式化或不是 U 盘分区,请按任意键重新设定。&&Echo.
  78. Set /P RP=请选择您的 U 盘盘符(不需要冒号,例如 F):
  79. Echo.&&Echo.
  80. If "%RP%"=="" Goto UD
  81. If Not "%RP%"=="" Set RP=%RP:~0,1%:
  82. For /F %%I In ('MYINS\CHECKUSB.EXE %RP%') DO SET Err2=%%I
  83. If Not "%Err2%"=="1" Set NoUD=Yes&&Goto UD
  84. Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
  85. Cd.>%TestFile%
  86. If Not Exist %TestFile% Set NoUD=Yes&&Goto UD
  87. FOR /F "delims=" %%I in (%0) do Set TP=%%~dI
  88. for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set rp=%%rp:%%i=%%i%%
  89. If Not "%RP%"=="" Set RP=%RP:~0,1%:
  90. if "%TP%"=="%RP%" goto DBU
  91. Del %TestFile% /Q>NUL 2>NUL
  92. Set U=U&&Set PEDIR=%RP%\MiniPE&&Set TargetP= U 盘&&Set TxtSp=
  93. If Exist %RP%\MAOTAO Goto Err1
  94. If Exist %PEDIR% Goto Err1
  95. CLS
  96. Echo 您选择的 U 盘分区为 %RP%,下面将对您的 U 盘进行格式化并写入引导
  97. Echo.
  98. Echo 请严格按照相关工具软件界面中的提示操作,以防出错。请按任意键开始。。。
  99. PAUSE>NUL
  100. Start /Wait MYINS\HPUSBFW.EXE
  101. Start /Wait MYINS\GRUBGUI.EXE
  102. Echo.
  103. Echo 您的 U 盘已经成功格式化并写入了 Grub 引导,请按任意键继续。。。
  104. PAUSE>NUL
  105. Goto GInstall
  106. :DBU
  107. echo ------------------------------------------------------------------
  108. ECHO 您选择的安装盘符与目标盘符重复,不需要再安装。请选择其它的安装方式
  109. echo ------------------------------------------------------------------
  110. pause
  111. goto start
  112. :NoUD
  113. CLS
  114. Title %Prog%——U 盘安装
  115. Echo.
  116. Echo %L1%
  117. Echo %L2%
  118. Echo %L3%
  119. Echo %L4%
  120. Echo %L5%
  121. Echo %L6%
  122. Echo    ║ 您的计算机似乎没有安装 U 盘,您想怎么办?   ║
  123. Echo %L6%
  124. Echo    ║  [B] 返回首页,重新选择安装选项。      ║
  125. Echo    ║  [Q] 退出安装                ║
  126. Echo %L6%
  127. Echo %L7%
  128. Echo %L8%
  129. Echo %L9%
  130. Echo.
  131. Set Choice=
  132. Set /P Choice=   请选择要进行的操作 (B/Q) ,然后按回车:
  133. If "%Choice%"=="" Goto NoUD
  134. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  135. If /I "%Choice%"=="B" Goto Start
  136. If /I "%Choice%"=="Q" Exit
  137. Goto NoUD
  138. Exit
  139. :Err0
  140. Echo 错误:安装配置文件丢失!&&Echo.
  141. Echo 请确认安装配置文件 %SetupINIFile% 存在或到本程序所在目录执行安装。&&Echo.
  142. Echo 请按任意键退出安装程序。。。
  143. PAUSE>NUL
  144. Exit
  145. :Err1
  146. CLS
  147. Title %Prog%——卸载
  148. Echo.
  149. Echo %L1%
  150. Echo %L2%
  151. Echo %L3%
  152. Echo %L4%
  153. Echo %L5%
  154. Echo %L6%
  155. Echo    ║ 您的%TargetP%中好像已经安装了 WinPE,您想怎么办?%TxtSp% ║
  156. Echo %L6%
  157. Echo    ║  [1] 卸载原有的 WinPE,并且重新安装。    ║
  158. Echo    ║  [2] 卸载原有的 WinPE,并且不再安装。    ║
  159. Echo    ║  [B] 返回首页,重新选择安装选项。      ║
  160. Echo    ║  [Q] 退出安装                ║
  161. Echo %L6%
  162. Echo %L7%
  163. Echo %L8%
  164. Echo %L9%
  165. Echo.
  166. Set Choice=
  167. Set /P Choice=   请选择要进行的操作 (1/2/B/Q) ,然后按回车:
  168. If "%TargetP%"=="硬盘" Set U=
  169. If "%Choice%"=="" Goto Err1
  170. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  171. If /I "%Choice%"=="1" Set Choi=1&&Goto UnInstall
  172. If /I "%Choice%"=="2" Goto UnInstall
  173. If /I "%Choice%"=="B" Goto Start
  174. If /I "%Choice%"=="Q" Exit
  175. Goto Err1
  176. Exit
  177. :UnInstall
  178. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE&&Del %RP%\LDRXPE /Q>NUL 2>NUL
  179. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE&&Del %RP%\WINNT.XPE /Q>NUL 2>NUL
  180. If Exist %RP%\MTLDR.PE %DelATTR% %RP%\MTLDR.PE&&Del %RP%\MTLDR.PE /Q>NUL 2>NUL
  181. If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR&&Del %RP%\MTLDR /Q>NUL 2>NUL
  182. If Exist %RP%\%LogFile% For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"WinPE外挂位置^" %RP%\%LogFile%') do SET OPD=%%i
  183. If Not "%U%"=="" Set OPD=%RP%
  184. If Exist %OPD%\外置程序 RD %OPD%\外置程序 /S /Q>NUL 2>NUL
  185. If Exist %RP%\%LogFile% %DelATTR% %RP%\%LogFile%&&Del %RP%\%LogFile% /Q>NUL 2>NUL
  186. If Exist %RP%\MAOTAO RD %RP%\MAOTAO /S /Q>NUL 2>NUL
  187. If Exist %RP%\MiniPE RD %RP%\MiniPE /S /Q>NUL 2>NUL
  188. %DelATTR% %RP%\BOOT.INI>NUL 2>NUL
  189. Set TMPINIFile=BOOT_%RANDOM%.INI
  190. If Exist %RP%\BOOT.BAK (
  191. %DelATTR% %RP%\BOOT.BAK
  192. TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MAOTAO">%RP%\%TMPINIFile%
  193. TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI
  194. ) Else (
  195. If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.INI|FIND /I /V "C:\MAOTAO">%RP%\%TMPINIFile%
  196. If Exist %RP%\%TMPINIFile% TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI
  197. )
  198. If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK&&Del %RP%\BOOT.BAK>NUL 2>NUL
  199. If Exist %RP%\%TMPINIFile% %DelATTR% %RP%\%TMPINIFile%&&Del %RP%\%TMPINIFile%>NUL 2>NUL
  200. If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
  201. Set RP=
  202. Title %Prog%——卸载完成
  203. If "%Choi%"=="1" (Echo.&&Echo.&&Echo    卸载完成,请按任意键准备安装 。。。&&PAUSE>NUL 2>NUL&&Goto Start)
  204. Echo.&&Echo.&&Echo    卸载完成,请按任意键退出 。。。
  205. PAUSE>NUL 2>NUL
  206. Exit
  207. :Install
  208. Title %Prog%——普通安装
  209. If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
  210. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
  211. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
  212. Echo.&&Echo    正在复制文件,请稍候 。。。
  213. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% MAOTAO.BIN -r -y>NUL 2>NUL
  214. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  215. Call :CopyAndSetFiles
  216. Goto SUCCESS
  217. :GInstall
  218. If "%U%"=="" Title %Prog%——Grub安装
  219. CLS
  220. Set LDRP=MiniPE\
  221. Echo 请输入您要设定的密码
  222. Echo 注意:密码中不许有空格、""、引号等特殊字符
  223. Echo.
  224. Set /P Pass1=请输入:
  225. If "%Pass1%"=="" Goto GInstall
  226. Echo.&&Echo.
  227. Echo 请再一次输入您的密码
  228. Echo.
  229. Set /P Pass2=请再次输入:
  230. If "%Pass2%"=="" Goto GInstall
  231. If Not "%Pass2%"=="%Pass1%" Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE>NUL 2>NUL&&Goto GInstall
  232. If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
  233. >%PEDIR%\MD5P.TMP <nul Set/p=%Pass2%
  234. MYINS\MD5.EXE %PEDIR%\MD5P.TMP %PEDIR%\MD5R.TXT>NUL 2>NUL
  235. For /f %%i In ('type %PEDIR%\md5r.txt') do SET MD5Pass=password --md5 %%i
  236. MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% MTLDR -r -y>NUL 2>NUL
  237. >>%RP%\MTLDR Echo %MD5Pass%
  238. >>%RP%\MTLDR Echo fontfile /minipe/muifont.gz
  239. >>%RP%\MTLDR Echo splashimage /minipe/bj2008.xpm.gz
  240. >>%RP%\MTLDR Echo.
  241. >>%RP%\MTLDR Echo title WinPE 迷你维护系统
  242. >>%RP%\MTLDR Echo %MD5Pass%
  243. >>%RP%\MTLDR Echo chainloader /minipe/ldrxpe
  244. >>%RP%\MTLDR Echo.
  245. >>%RP%\MTLDR Echo title Grub 命令行
  246. >>%RP%\MTLDR Echo %MD5Pass%
  247. >>%RP%\MTLDR Echo commandline
  248. >>%RP%\MTLDR Echo.
  249. >>%RP%\MTLDR Echo title 从第一硬盘第一分区启动
  250. >>%RP%\MTLDR Echo root ^(hd0,0^)
  251. >>%RP%\MTLDR Echo chainloader +1
  252. >>%RP%\MTLDR Echo.
  253. >>%RP%\MTLDR Echo title 从第二硬盘第一分区启动
  254. >>%RP%\MTLDR Echo root ^(hd1,0^)
  255. >>%RP%\MTLDR Echo chainloader ^(hd1,0^)+1
  256. >>%RP%\MTLDR Echo.
  257. >>%RP%\MTLDR Echo title 重新启动计算机
  258. >>%RP%\MTLDR Echo reboot
  259. >>%RP%\MTLDR Echo.
  260. >>%RP%\MTLDR Echo title 关闭计算机
  261. >>%RP%\MTLDR <nul Set/p=halt
  262. Del %PEDIR%\MD5?.* /Q>NUL 2>NUL
  263. Echo.
  264. Echo 密码设置完成,请牢记您的密码,并按任意键继续 。。。
  265. PAUSE>NUL 2>NUL
  266. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
  267. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
  268. If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR
  269. Echo.
  270. Echo 正在复制文件,请稍候 。。。
  271. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% BJ2008.XPM.GZ -r -y>NUL 2>NUL
  272. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% muifont.gz -r -y>NUL 2>NUL
  273. If "%U%"=="" MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR%\ maotaog.bin -r -y>NUL 2>NUL
  274. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  275. If "%U%"=="" Ren %PEDIR%\maotaog.bin maotao.bin
  276. md %rp%\setup\myins >NUL 2>NUL
  277. md %rp%\minipe >NUL 2>NUL
  278. md %rp%\wxpe >NUL 2>NUL
  279. cd ..
  280. ECHO ==============================================
  281. copy setup\myins\aero.sys %rp%\setup\myins     /Z
  282. copy setup\myins\checkusb.exe %rp%\setup\myins /Z
  283. copy setup\myins\grubgui.exe %rp%\setup\myins  /Z
  284. copy setup\myins\grubinst.exe %rp%\setup\myins /Z
  285. copy setup\myins\hpusbfw.exe %rp%\setup\myins  /Z
  286. copy setup\myins\md5.exe %rp%\setup\myins      /Z
  287. copy setup\myins\myins.dll %rp%\setup\myins    /Z
  288. copy setup\myins\myins.exe %rp%\setup\myins    /Z
  289. copy setup\myins\ntboot.exe %rp%\setup\myins   /Z
  290. copy setup\pesetup.ini %rp%\setup              /Z
  291. copy setup\pesetup.cmd %rp%\setup              /Z
  292. copy wxpe\ntdetect.com %rp%\wxpe               /Z
  293. copy wxpe\setupldr.bin %rp%\wxpe               /Z
  294. Call :CopyAndSetFiles
  295. Goto SUCCESS
  296. :AInstall
  297. Title %Prog%——Aero安装
  298. CLS
  299. Echo 请输入您要设定的密码
  300. Echo 注意:密码中不许有空格、""、引号等特殊字符
  301. Echo.
  302. Set /P Pass1=请输入:
  303. If "%Pass1%"=="" Goto AInstall
  304. Echo.&&Echo.
  305. Echo 请再一次输入您的密码
  306. Echo.
  307. Set /P Pass2=请再次输入:
  308. If "%Pass2%"=="" Goto AInstall
  309. If Not "%Pass2%"=="%Pass1%" Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE>NUL 2>NUL&&Goto AInstall
  310. If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
  311. For /f %%i In (MyIns\Aero.sys) Do MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% %%i -r -y>NUL 2>NUL
  312. Ren %PEDIR%\maotao.bin avldr.xpe
  313. Ren %PEDIR%\maotaoa.bin maotao.bin
  314. >%PEDIR%\airL.gz <nul Set/p=%Pass2%
  315. Copy /B %PEDIR%\airT.gz+%PEDIR%\airL.gz+%PEDIR%\airW.gz %PEDIR%\airmenu.ini>NUL 2>NUL&&Del %PEDIR%\air?.gz /Q>NUL 2>NUL>NUL 2>NUL
  316. MyIns\MyIns.exe a -tGZip %PEDIR%\airmenu.gz %PEDIR%\airmenu.ini -w%PEDIR%>NUL 2>NUL&&Del %PEDIR%\airmenu.ini /Q>NUL 2>NUL&&Ren %PEDIR%\airmenu.gz airmenu.ini>NUL 2>NUL
  317. Echo.
  318. Echo 密码设置完成,请牢记您的密码,并按任意键继续 。。。
  319. PAUSE>NUL 2>NUL
  320. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
  321. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
  322. Echo.
  323. Echo 正在复制文件,请稍候 。。。
  324. MOVE %PEDIR%\MTLDR.PE %RP%\>NUL 2>NUL
  325. Call :CopyAndSetFiles
  326. Goto SUCCESS
  327. :HDRPErr
  328. CLS
  329. Set RP=
  330. For %%I In (Z Y X W V U T S R Q P O N M L K J I H G F E D C) Do If Exist %%I:\BootMGR Set RP=%%I:&&Set PEDIR=%%I:\MiniPE
  331. If Not "%RP%"=="" (
  332. TITLE %Prog%——检测到 Windows Vista 分区
  333. Set OPT=Vista&&Set OPT0=存在 WinVista 分区&&Set OPT1=[I] 将 WimPE 安装到 Windows Vista 分区。
  334. ) Else (
  335. TITLE %Prog%——没有检测到系统分区
  336. Set OPT=NewHD&&Set OPT0=没有安装过操作系统&&Set OPT1=[I] 全新硬盘,将 WimPE 安装到活动分区。
  337. )
  338. Echo.
  339. Echo %L1%
  340. Echo %L2%
  341. Echo %L3%
  342. Echo %L4%
  343. Echo %L5%
  344. Echo %L6%
  345. Echo    ║ 好像您的机器中%OPT0%,您想怎么办?║
  346. Echo %L6%
  347. Echo    ║  %OPT1%  ║
  348. Echo    ║  [B] 返回首页,重新选择安装选项。      ║
  349. Echo    ║  [Q] 退出安装                ║
  350. Echo %L6%
  351. Echo    ║ 注意: 为确保安全,此安装选项可能会卸载不干净!║
  352. Echo %L7%
  353. Echo %L8%
  354. Echo %L9%
  355. Echo.
  356. Set Choice=
  357. Set /P Choice=   请选择要进行的操作 (I/B/Q) ,然后按回车:
  358. If "%Choice%"=="" Goto HDRPErr
  359. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  360. If /I "%Choice%"=="I" If "%OPT%"=="Vista" Goto Vista
  361. If /I "%Choice%"=="I" If "%OPT%"=="NewHD" Goto NewHD
  362. If /I "%Choice%"=="B" Goto Start
  363. If /I "%Choice%"=="Q" Exit
  364. Goto HDRPErr
  365. Exit
  366. :Vista
  367. Set PEDIR=%RP%\MiniPE
  368. If Exist %RP%\MAOTAO Goto Err1
  369. If Exist %PEDIR% Goto Err1
  370. Echo.&&Echo.
  371. Echo    正在复制文件,请稍候 。。。
  372. If Exist %RP%\NTLDR %DelATTR% %RP%\NTLDR&&Ren %RP%\NTLDR NTLDR.BAK
  373. Set NoLDR=Yes
  374. If "%NoLDR%"=="Yes" MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% LDRXPE -r -y>NUL 2>NUL
  375. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  376. If "%NoLDR%"=="Yes" Ren %RP%\LDRXPE NTLDR
  377. Call :CopyAndSetFiles
  378. Goto SUCCESS
  379. :NewHD
  380. CLS
  381. TITLE %Prog%——在全新硬盘中安装
  382. If "%NoNewErr%"=="Yes" Echo 错误:您设定的分区 %RP% 不存在、写保护、或未格式化,请按任意键重新设定。&&Echo.
  383. Echo 请设置您需要安装 WinPE 到哪个分区(注意一定要是活动分区)
  384. Echo.
  385. Set /P RP=请输入您需要安装 WinPE 的分区符(不需要冒号,例如 C),然后按回车:
  386. Echo.&&Echo.
  387. If "%RP%"=="" Goto NewHD
  388. If Not "%RP%"=="" Set RP=%RP:~0,1%:
  389. For /F %%I In ('MYINS\CHECKUSB.EXE %RP%') DO SET Err2=%%I
  390. If Not Exist %RP% Set NoNewErr=Yes&&Goto NewHD
  391. Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
  392. Cd.>%TestFile%
  393. If Not Exist %TestFile% Set NoNewErr=Yes&&Goto NewHD
  394. Del %TestFile% /Q>NUL 2>NUL
  395. Set PEDIR=%RP%\MiniPE
  396. If Exist %RP%\MAOTAO Goto Err1
  397. If Exist %PEDIR% Goto Err1
  398. MyIns\NTBoot.exe %RP% >NUL
  399. Echo.
  400. Echo 正在复制文件,请稍候 。。。
  401. If Exist %RP%\NTLDR %DelATTR% %RP%\NTLDR&&Ren %RP%\NTLDR NTLDR.BAK
  402. Set NoLDR=Yes
  403. If "%NoLDR%"=="Yes" MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% LDRXPE -r -y>NUL 2>NUL
  404. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  405. If "%NoLDR%"=="Yes" Ren %RP%\LDRXPE NTLDR
  406. Call :CopyAndSetFiles
  407. Goto SUCCESS
  408. :CopyAndSetFiles
  409. If Not Exist %RP%\NTLDR MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTLDR -r -y>NUL 2>NUL
  410. If "%U%"=="" For /F %%i In ("%RP%\NTLDR") Do If %%~zi LSS 250000 Set SysVer=2K
  411. If "%NoLDR%"=="" MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP%\%LDRP% LDRXPE -r -y>NUL 2>NUL
  412. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% NTCOM -r -y>NUL 2>NUL
  413. ::If Not Exist %RP%\NTLDR MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTLDR -r -y>NUL 2>NUL
  414. Copy %PEFile%    %PEDIR% /Z
  415. Copy %OPFile%    %PEDIR% /Z
  416. Copy %PEIni%     %PEDIR% /Z
  417. ECHO ==============================================
  418. If "%U%"=="" If Exist %RP%\BOOT.INI %DelATTR% %RP%\BOOT.INI
  419. If "%U%"=="" If Exist %RP%\BOOT.INI If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
  420. If "%U%"=="" If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
  421. If "%U%"=="" If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI
  422. If "%U%"=="" If Exist %RP%\BOOT.INI Echo C:\MiniPE\MAOTAO.BIN="WinPE">>%RP%\BOOT.INI
  423. If /I "%SysVer%"=="2K" (
  424. %DelATTR% %RP%\NTLDR&&%DelATTR% %RP%\bootfont.bin
  425. Ren %RP%\NTLDR NTLDR.2K&&Ren %RP%\bootfont.bin bootfont.bin.2K
  426. MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTLDR -r -y>NUL 2>NUL
  427. MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% bootfont.bin -r -y>NUL 2>NUL
  428. )
  429. If Exist %RP%\%PEIni% %DelATTR% %RP%\%PEIni%
  430. TYPE ..\%PEIni%|FIND /I /V "PESetup.EXE">%RP%\%PEIni%
  431. %AddATTR% %RP%\MiniPE /S /D
  432. ::%AddATTR% %RP%\MiniPE\*.* /S /D
  433. If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
  434. If Exist %RP%\%LDRP%LDRXPE %AddATTR% %RP%\%LDRP%LDRXPE
  435. If Exist %RP%\MTLDR.PE %AddATTR% %RP%\MTLDR.PE
  436. If Exist %RP%\nTLDR %AddATTR% %RP%\nTLDR
  437. If Exist %RP%\mTLDR %AddATTR% %RP%\mTLDR
  438. Goto :EOF
  439. :SUCCESS
  440. Title %Prog%——安装完成
  441. CLS
  442. For %%i In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do If /I "%RP%"=="%%i:" Set RP=%%i:
  443. Echo 已经成功将镜像 %PEFile% 安装到您的 %RP% 盘。
  444. If "%U%"=="" (
  445. Echo.
  446. If Exist %RP%\Boot.INI Echo 系统分区中的 BOOT.INI 备份为 BOOT.BAK。
  447. If Exist %PR%\Boot.ini bootcfg /timeout 0 >Nul 2>Nul
  448. )
  449. Echo.&&Echo.
  450. Echo 如果您需要将 WinPE 卸载,请重新运行本安装程序。
  451. Echo.
  452. Echo 请按任意键退出 。。。
  453. PAUSE>NUL 2>NUL
  454. Exit
复制代码

作者: secowu    时间: 2007-10-20 00:19
直接注释掉attrib minipe目录下,害得我到处想办法。如何在无法更改文件属性的情况下,只用copy来完成有SH的文件,狂晕
作者: secowu    时间: 2007-10-20 01:02
要考虑的路径太多情况了。。。。

刚才还在PE测试,唉,不玩了。。。。
作者: lxl1638    时间: 2007-10-20 02:30
原帖由 secowu 于 2007-10-20 01:02 AM 发表
要考虑的路径太多情况了。。。。

刚才还在PE测试,唉,不玩了。。。。


太复杂的功能用CMD是很头晕的事,要实现你这个屁处理的功能,VC的代码比CMD的还要少。
作者: 老毛桃    时间: 2007-10-20 09:34
:o :o

将 SETUP 文件夹复制过去,取消 MiniPE 文件夹及其文件的系统隐藏属性即可
作者: secowu    时间: 2007-10-20 10:14
原帖由 老毛桃 于 2007-10-20 09:34 AM 发表
:o :o

将 SETUP 文件夹复制过去,取消 MiniPE 文件夹及其文件的系统隐藏属性即可


我就是在想,如何保证您的原汁原味的情况下(不改变隐藏属性),整个办法。。。

脑袋进水了
作者: secowu    时间: 2007-10-20 10:15
原帖由 lxl1638 于 2007-10-20 02:30 AM 发表


太复杂的功能用CMD是很头晕的事,要实现你这个屁处理的功能,VC的代码比CMD的还要少。


:lol 不懂VC,惨了我
作者: 老毛桃    时间: 2007-10-20 11:55
原帖由 secowu 于 2007-10-20 10:14 发表


我就是在想,如何保证您的原汁原味的情况下(不改变隐藏属性),整个办法。。。

脑袋进水了

:lol :lol

还得修改一下滴 ;P ;P
作者: junyee    时间: 2007-10-20 12:08
原帖由 secowu 于 2007-10-20 10:14 AM 发表


我就是在想,如何保证您的原汁原味的情况下(不改变隐藏属性),整个办法。。。

脑袋进水了


;P 毛桃汁。。。
作者: njfiat    时间: 2007-10-20 13:10
这就体现老毛桃的功力了,岂是一朝之功啊~~~
作者: 307866865    时间: 2007-10-20 19:04
................强人啊
作者: weipc    时间: 2007-10-20 19:36
这个屁处理我看着都晕,对写这个东东的大侠,景仰之情,有如滔滔桃汁.......




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3