| @Echo Off |
| COLOR 2F |
| Set Prog=老毛桃制作的 WinPE 专用安装工具 |
| Set L1= ╭══════════════════╮ |
| Set L2= ║ ║ |
| Set L3= ╭══┤ %Prog% ├══╮ |
| Set L4= ║ ║ ║ ║ |
| Set L5= ║ ╰══════════════════╯ ║ |
| Set L6= ║ ║ |
| Set L7= ╟════════════════════════╢ |
| Set L8= ║ 版权所有:老毛桃 仅供网友们交流 翻版不究 ║ |
| Set L9= ╰────────────────────────╯ |
| Title %Prog% |
| |
| Set SetupINIFile=PESetup.INI |
| Set PEFile=MiniPE\WinPE.IS_ |
| Set PEIni=MiniPE\WinPE.INI |
| Set LogFile=PEInstall.log |
| If Not Exist .\PESETUP.INI Goto Err0 |
| For /F "tokens=2 delims=^=" %%I In ('FIND /I ^"外置程序包^" .\%SetupINIFile%') DO Set OPFile=MiniPE\%%I |
| |
| Set AddATTR=ATTRIB +S +H +R |
| Set DelATTR=ATTRIB -S -H -R |
| |
| :Start |
| CLS |
| Title %Prog%——安装 |
| Echo. |
| Echo %L1% |
| Echo %L2% |
| Echo %L3% |
| Echo %L4% |
| Echo %L5% |
| Echo %L6% |
| Echo ║ 请选择安装方式: ║ |
| Echo %L6% |
| Echo ║ [1] 普通安装/启动 (硬盘安装) ║ |
| Echo ║ [2] Grub安装/启动 (硬盘安装,支持 MD5 密码) ║ |
| Echo ║ [3] Aero安装/启动 (硬盘安装,支持密码) ║ |
| Echo ║ [4] Grub安装/启动 (U 盘、移动硬盘安装) ║ |
| Echo ║ [Q] 退出安装 ║ |
| Echo %L6% |
| Echo %L7% |
| Echo ║ 注意: Aero 安装项只适合系统分区在(HD0,0)分区 ║ |
| Echo %L7% |
| Echo %L8% |
| Echo %L9% |
| Echo. |
| Set Choice= |
| Set /P Choice= 请选择要进行的操作 (1/2/3/4/Q) ,然后按回车: |
| If "%Choice%"=="" Goto Start |
| If Not "%Choice%"=="" Set Choice=%Choice:~0,1% |
| If /I "%Choice%"=="1" Goto HD |
| If /I "%Choice%"=="2" Goto HD |
| If /I "%Choice%"=="3" Goto HD |
| If /I "%Choice%"=="4" Goto UD |
| If /I "%Choice%"=="Q" Exit |
| Goto Start |
| |
| :HD |
| Set RP= |
| 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: |
| If "%RP%"=="" Goto HDRPErr |
| Set PEDIR=%RP%\MiniPE&&Set TargetP=硬盘&&Set TxtSp= |
| If Exist %PEDIR% Goto Err1 |
| FIND /I "C:\MAOTAO" %RP%\BOOT.INI>NUL 2>NUL |
| If "%Errorlevel%"=="0" Goto Err1 |
| FIND /I "C:\MiniPE" %RP%\BOOT.INI>NUL 2>NUL |
| If "%Errorlevel%"=="0" Goto Err1 |
| If /I "%Choice%"=="1" Goto Install |
| If /I "%Choice%"=="2" Goto GInstall |
| If /I "%Choice%"=="3" Goto AInstall |
| Goto HD |
| |
| :UD |
| CLS |
| Title %Prog%——U 盘安装 |
| For /F "skip=2 tokens=*" %%I In ('MYINS\CHECKUSB.EXE') DO SET Us=%%I |
| If "%Us%"=="当前可移动磁盘分区:" Goto NoUD |
| Echo %Us%&&Echo. |
| If "%NoUD%"=="Yes" Echo 错误:您设定的分区 %RP% 不存在、写保护、未格式化或不是 U 盘分区,请按任意键重新设定。&&Echo. |
| Set /P RP=请选择您的 U 盘盘符(不需要冒号,例如 F): |
| Echo.&&Echo. |
| If "%RP%"=="" Goto UD |
| If Not "%RP%"=="" Set RP=%RP:~0,1%: |
| For /F %%I In ('MYINS\CHECKUSB.EXE %RP%') DO SET Err2=%%I |
| If Not "%Err2%"=="1" Set NoUD=Yes&&Goto UD |
| Set TestFile=%RP%\MiniPETest_%RANDOM%.MT |
| Cd.>%TestFile% |
| If Not Exist %TestFile% Set NoUD=Yes&&Goto UD |
| Del %TestFile% /Q>NUL 2>NUL |
| Set U=U&&Set PEDIR=%RP%\MiniPE&&Set TargetP= U 盘&&Set TxtSp= |
| If Exist %RP%\MAOTAO Goto Err1 |
| If Exist %PEDIR% Goto Err1 |
| CLS |
| Echo 您选择的 U 盘分区为 %RP%,下面将对您的 U 盘进行格式化并写入引导 |
| Echo. |
| Echo 请严格按照相关工具软件界面中的提示操作,以防出错。请按任意键开始。。。 |
| PAUSE>NUL |
| Start /Wait MYINS\HPUSBFW.EXE |
| Start /Wait MYINS\GRUBGUI.EXE |
| Echo. |
| Echo 您的 U 盘已经成功格式化并写入了 Grub 引导,请按任意键继续。。。 |
| PAUSE>NUL |
| Goto GInstall |
| |
| :NoUD |
| CLS |
| Title %Prog%——U 盘安装 |
| Echo. |
| Echo %L1% |
| Echo %L2% |
| Echo %L3% |
| Echo %L4% |
| Echo %L5% |
| Echo %L6% |
| Echo ║ 您的计算机似乎没有安装 U 盘,您想怎么办? ║ |
| Echo %L6% |
| Echo ║ 返回首页,重新选择安装选项。 ║ |
| Echo ║ [Q] 退出安装 ║ |
| Echo %L6% |
| Echo %L7% |
| Echo %L8% |
| Echo %L9% |
| Echo. |
| Set Choice= |
| Set /P Choice= 请选择要进行的操作 (B/Q) ,然后按回车: |
| If "%Choice%"=="" Goto NoUD |
| If Not "%Choice%"=="" Set Choice=%Choice:~0,1% |
| If /I "%Choice%"=="B" Goto Start |
| If /I "%Choice%"=="Q" Exit |
| Goto NoUD |
| Exit |
| |
| :Err0 |
| Echo 错误:安装配置文件丢失!&&Echo. |
| Echo 请确认安装配置文件 %SetupINIFile% 存在或到本程序所在目录执行安装。&&Echo. |
| Echo 请按任意键退出安装程序。。。 |
| PAUSE>NUL |
| Exit |
| |
| :Err1 |
| CLS |
| Title %Prog%——卸载 |
| Echo. |
| Echo %L1% |
| Echo %L2% |
| Echo %L3% |
| Echo %L4% |
| Echo %L5% |
| Echo %L6% |
| Echo ║ 您的%TargetP%中好像已经安装了 WinPE,您想怎么办?%TxtSp% ║ |
| Echo %L6% |
| Echo ║ [1] 卸载原有的 WinPE,并且重新安装。 ║ |
| Echo ║ [2] 卸载原有的 WinPE,并且不再安装。 ║ |
| Echo ║ 返回首页,重新选择安装选项。 ║ |
| Echo ║ [Q] 退出安装 ║ |
| Echo %L6% |
| Echo %L7% |
| Echo %L8% |
| Echo %L9% |
| Echo. |
| Set Choice= |
| Set /P Choice= 请选择要进行的操作 (1/2/B/Q) ,然后按回车: |
| If "%TargetP%"=="硬盘" Set U= |
| If "%Choice%"=="" Goto Err1 |
| If Not "%Choice%"=="" Set Choice=%Choice:~0,1% |
| If /I "%Choice%"=="1" Set Choi=1&&Goto UnInstall |
| If /I "%Choice%"=="2" Goto UnInstall |
| If /I "%Choice%"=="B" Goto Start |
| If /I "%Choice%"=="Q" Exit |
| Goto Err1 |
| Exit |
| |
| :UnInstall |
| If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE&&Del %RP%\LDRXPE /Q>NUL 2>NUL |
| If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE&&Del %RP%\WINNT.XPE /Q>NUL 2>NUL |
| If Exist %RP%\MTLDR.PE %DelATTR% %RP%\MTLDR.PE&&Del %RP%\MTLDR.PE /Q>NUL 2>NUL |
| If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR&&Del %RP%\MTLDR /Q>NUL 2>NUL |
| If Exist %RP%\%LogFile% For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"WinPE外挂位置^" %RP%\%LogFile%') do SET OPD=%%i |
| If Not "%U%"=="" Set OPD=%RP% |
| If Exist %OPD%\外置程序 RD %OPD%\外置程序 /S /Q>NUL 2>NUL |
| If Exist %RP%\%LogFile% %DelATTR% %RP%\%LogFile%&&Del %RP%\%LogFile% /Q>NUL 2>NUL |
| If Exist %RP%\MAOTAO RD %RP%\MAOTAO /S /Q>NUL 2>NUL |
| If Exist %RP%\MiniPE RD %RP%\MiniPE /S /Q>NUL 2>NUL |
| %DelATTR% %RP%\BOOT.INI>NUL 2>NUL |
| Set TMPINIFile=BOOT_%RANDOM%.INI |
| If Exist %RP%\BOOT.BAK ( |
| %DelATTR% %RP%\BOOT.BAK |
| TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MAOTAO">%RP%\%TMPINIFile% |
| TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI |
| ) Else ( |
| If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.INI|FIND /I /V "C:\MAOTAO">%RP%\%TMPINIFile% |
| If Exist %RP%\%TMPINIFile% TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI |
| ) |
| If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK&&Del %RP%\BOOT.BAK>NUL 2>NUL |
| If Exist %RP%\%TMPINIFile% %DelATTR% %RP%\%TMPINIFile%&&Del %RP%\%TMPINIFile%>NUL 2>NUL |
| If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI |
| Set RP= |
| Title %Prog%——卸载完成 |
| If "%Choi%"=="1" (Echo.&&Echo.&&Echo 卸载完成,请按任意键准备安装 。。。&&PAUSE>NUL 2>NUL&&Goto Start) |
| Echo.&&Echo.&&Echo 卸载完成,请按任意键退出 。。。 |
| PAUSE>NUL 2>NUL |
| Exit |
| |
| :Install |
| Title %Prog%——普通安装 |
| If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL |
| If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE |
| If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE |
| Echo.&&Echo 正在复制文件,请稍候 。。。 |
| MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% MAOTAO.BIN -r -y>NUL 2>NUL |
| MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL |
| Call :CopyAndSetFiles |
| Goto SUCCESS |
| |
| :GInstall |
| If "%U%"=="" Title %Prog%——Grub安装 |
| CLS |
| Set LDRP=MiniPE\ |
| Echo 请输入您要设定的密码 |
| Echo 注意:密码中不许有空格、"\"、引号等特殊字符 |
| Echo. |
| Set /P Pass1=请输入: |
| If "%Pass1%"=="" Goto GInstall |
| Echo.&&Echo. |
| Echo 请再一次输入您的密码 |
| Echo. |
| Set /P Pass2=请再次输入: |
| If "%Pass2%"=="" Goto GInstall |
| If Not "%Pass2%"=="%Pass1%" Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE>NUL 2>NUL&&Goto GInstall |
| If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL |
| >%PEDIR%\MD5P.TMP <nul Set/p=%Pass2% |
| MYINS\MD5.EXE %PEDIR%\MD5P.TMP %PEDIR%\MD5R.TXT>NUL 2>NUL |
| For /f %%i In ('type %PEDIR%\md5r.txt') do SET MD5Pass=password --md5 %%i |
| MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% MTLDR -r -y>NUL 2>NUL |
| >>%RP%\MTLDR Echo %MD5Pass% |
| >>%RP%\MTLDR Echo fontfile /minipe/muifont.gz |
| >>%RP%\MTLDR Echo splashimage /minipe/bj2008.xpm.gz |
| >>%RP%\MTLDR Echo. |
| >>%RP%\MTLDR Echo title WinPE 迷你维护系统 ^(By: MAOTAO^) |
| >>%RP%\MTLDR Echo %MD5Pass% |
| >>%RP%\MTLDR Echo chainloader /minipe/ldrxpe |
| >>%RP%\MTLDR Echo. |
| >>%RP%\MTLDR Echo title Grub 命令行 |
| >>%RP%\MTLDR Echo %MD5Pass% |
| >>%RP%\MTLDR Echo commandline |
| >>%RP%\MTLDR Echo. |
| >>%RP%\MTLDR Echo title 从第一硬盘第一分区启动 |
| >>%RP%\MTLDR Echo root ^(hd0,0^) |
| >>%RP%\MTLDR Echo chainloader +1 |
| >>%RP%\MTLDR Echo. |
| >>%RP%\MTLDR Echo title 从第二硬盘第一分区启动 |
| >>%RP%\MTLDR Echo root ^(hd1,0^) |
| >>%RP%\MTLDR Echo chainloader ^(hd1,0^)+1 |
| >>%RP%\MTLDR Echo. |
| >>%RP%\MTLDR Echo title 重新启动计算机 |
| >>%RP%\MTLDR Echo reboot |
| >>%RP%\MTLDR Echo. |
| >>%RP%\MTLDR Echo title 关闭计算机 |
| >>%RP%\MTLDR <nul Set/p=halt |
| Del %PEDIR%\MD5?.* /Q>NUL 2>NUL |
| Echo. |
| Echo 密码设置完成,请牢记您的密码,并按任意键继续 。。。 |
| PAUSE>NUL 2>NUL |
| If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE |
| If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE |
| If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR |
| Echo. |
| Echo 正在复制文件,请稍候 。。。 |
| MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% BJ2008.XPM.GZ -r -y>NUL 2>NUL |
| MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% muifont.gz -r -y>NUL 2>NUL |
| If "%U%"=="" MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR%\ maotaog.bin -r -y>NUL 2>NUL |
| MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL |
| If "%U%"=="" Ren %PEDIR%\maotaog.bin maotao.bin |
| Call :CopyAndSetFiles |
| Goto SUCCESSCOPY |