作者: dgxhls 时间: 2007-11-29 16:08
@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 NoSys
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 ║ [B] 返回首页,重新选择安装选项。 ║
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
:CopyAndSetFiles
For /F "tokens=2 delims=." %%i In ('Ver') DO Set SysVer=%%i
If "%U%"=="" If %SysVer:~0,1% LSS 1 Set SysVer=2K
MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP%\%LDRP% LDRXPE -r -y>NUL 2>NUL
If Not Exist %RP%\NTDETECT.COM MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTDETECT.COM -r -y>NUL 2>NUL
Copy ..\%PEFile% %PEDIR% /Y>NUL 2>NUL
Copy ..\%OPFile% %PEDIR% /Y>NUL 2>NUL
Copy ..\%PEIni% %PEDIR% /Y>NUL 2>NUL
If "%U%"=="" %DelATTR% %RP%\BOOT.INI
If "%U%"=="" If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
If "%U%"=="" Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
If "%U%"=="" TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI
If "%U%"=="" Echo C:\MiniPE\MAOTAO.BIN="WinPE By: 老毛桃">>%RP%\BOOT.INI
If /I "%SysVer%"=="2K" (
%DelATTR% %RP%\NTLDR&&%DelATTR% %RP%\bootfont.bin
Ren %RP%\NTLDR NTLDR.2K&&Ren %RP%\bootfont.bin bootfont.bin.2K
MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTLDR -r -y>NUL 2>NUL
MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% bootfont.bin -r -y>NUL 2>NUL
)
If Exist %RP%\%PEIni% %DelATTR% %RP%\%PEIni%
TYPE ..\%PEIni%|FIND /I /V "PESetup.EXE">%RP%\%PEIni%
%AddATTR% %RP%\%LDRP%LDRXPE
%AddATTR% %RP%\NTDETECT.COM
%AddATTR% %RP%\WINNT.XPE
If "%U%"=="" %AddATTR% %RP%\BOOT.INI
%AddATTR% %RP%\MiniPE /S /D
%AddATTR% %RP%\MiniPE\*.* /S /D
If Exist %RP%\MTLDR.PE %AddATTR% %RP%\MTLDR.PE
If Exist %RP%\MTLDR %AddATTR% %RP%\MTLDR
Goto :EOF
:SUCCESS
Title %Prog%——安装完成
CLS
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:
Echo 已经成功将镜像 %PEFile% 安装到您的 %RP% 盘。
If "%U%"=="" (
Echo.
Echo 系统分区中的 BOOT.INI 备份为 BOOT.BAK。
)
Echo.&&Echo.
Echo 如果您需要将 WinPE 卸载,请重新运行本安装程序。
Echo.
Echo 请按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit作者: earthblove 时间: 2007-12-1 07:31 标题: 非常感谢老毛桃 非常感谢,收到!
周末愉快!作者: earthblove 时间: 2007-12-1 08:55
刚才兴趣使然,用QuickBFC将12K大小"安装.bat"转成exe文件,结果生成的exe变成了130K大小。而你的好像也只有12K,请问怎么做的?