作者: 2011mking 时间: 2012-4-19 23:59
@Echo Off
color 2e
REM 公共显示及检测部分
Set Prog=Windows PE 硬盘专用安装工具
Set L1= ╭──────────────╮
Set L2= ╭────┤Windows PE 硬盘专用安装工具 ├────╮
Set L3= │ ╰──────────────╯ │
Set L4= │ 安装程序仅支持安装到Windows 2000 以上的环境 │
Set L5= │=============================================== │
Set L6= │ │
Set L7= │=============================================== │
Set L8= │ BY:月光森林 │
Set L9= ╰────────────────────────╯
Title %Prog%
GOTO Start
REM 检测BOOT.INI及BOOTMGR
:Start
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 SysDrv=%%I:
If "%SysDrv%"=="" Goto ChsTwo
If Exist %SysDrv%\PELDR Goto ExistPE
If Exist %SysDrv%\AVLDR Goto ExistPE
FIND /I "C:\AVLDR" %SysDrv%\BOOT.INI >NUL
If %Errorlevel%==0 Goto ExistPE
If Exist %SysDrv%\BOOTMGR Goto Start56X
Goto Start5X
:ChsTwo
For %%K 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 %%K:\BOOTMGR Set SysDrv=%%K:
If "%SysDrv%"=="" Goto NoSys
Goto Start6X
REM 存在PE选择模块
:ExistPE
Cls
Title %Prog%——卸载
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ 检测到您已经安装了WindowsPE,您要卸载吗? │
Echo │ [1] 卸载原有的Windows PE,并重新安装Windows PE │
Echo │ [2] 卸载原有的Windows PE,并删除原有Windows PE │
Echo │ [Q] 退出安装程序,什么都不做 │
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice= 请选择要进行的操作 (1/2/Q) ,然后按回车
If %Choice%Choice==Choice Goto :ExistPE
If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
If /I '%Choice%'=='1' SET Choi=1&&GOTO :UnIns
If /I '%Choice%'=='2' GOTO :UnIns
If /I '%Choice%'=='Q' EXIT
Goto :ExistPE
REM 卸载模块
:UnIns
set "file=%SysDrv%\boot.ini"
set "str=[operating systems]"
set "LastLine="
If Exist %SysDrv%\AVLDR ATTRIB -S -H -R %SysDrv%\AVLDR && Del /Q /F %SysDrv%\AVLDR >NUL
If Exist %SysDrv%\PELDR ATTRIB -S -H -R %SysDrv%\PELDR && Del /Q /F %SysDrv%\PELDR >NUL
If Exist %SysDrv%\WINPE.XPE ATTRIB -S -H -R %SysDrv%\WINPE.XPE && Del /Q /F %SysDrv%\WINPE.XPE >NUL
If Exist %SysDrv%\WNPEFONT.BIN ATTRIB -S -H -R %SysDrv%\WNPEFONT.BIN && Del /Q /F %SysDrv%\WNPEFONT.BIN >NUL
If Exist %SysDrv%\AXPE ATTRIB -S -H -R %SysDrv%\AXPE && RD %SysDrv%\AXPE /S /Q>NUL
Attrib %SysDrv%\BOOT.INI -S -H -R
If Exist %SysDrv%\BOOT.BAK (
Attrib %SysDrv%\BOOT.BAK -S -H -R
TYPE %SysDrv%\BOOT.BAK|FIND /I /V "C:\AVLDR">%SysDrv%\BOOT.INI
) Else (
Copy %SysDrv%\BOOT.INI %SysDrv%\BOOT.BAK /Y>NUL
TYPE %SysDrv%\BOOT.BAK|FIND /I /V "C:\AVLDR">%SysDrv%\BOOT.INI
)
Copy %SysDrv%\BOOT.INI %SysDrv%\BOOT.BAK /Y>NUL
If Exist %SysDrv%\BOOT.BAK ATTRIB -S -H -R %SysDrv%\BOOT.BAK && Del %SysDrv%\BOOT.BAK>NUL
For /f "usebackq eol= delims=" %%a in ("%file%") do set LastLine=%%a
setlocal enabledelayedexpansion
IF "!LastLine!"=="%str%" del /q /f "%file%"
If Exist %SysDrv%\boot.ini Attrib %SysDrv%\BOOT.INI +S +H +R
Title %Prog%——卸载完成
If %Choi%Choi==1Choi (Echo.&&Echo 卸载完成,请按任意键准备安装...&&PAUSE>NUL&&Goto Start)
Echo.&&Echo 卸载完成,外置程序PESOFT文件夹请重启后手动删除!
Echo.&&Echo 现按任意键退出...
PAUSE>NUL
Exit
REM 安装选择模块5X系统(系统有BOOT.INI且无BOOTMGR)
:Start5X
Cls
Title %Prog%——安装
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ [1] 安装WinPE到硬盘,并添加至启动菜单 │
Echo │ [Q] 退出安装程序,什么都不做 │
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Set Choice=
Set /P Choice= 请选择要进行的操作 (1/Q) ,然后按回车
If %Choice%Choice==Choice Goto Start5X
If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
If /I '%Choice%'=='1' GOTO Ins5X
If /I '%Choice%'=='q' EXIT
Goto Start5X
REM 安装选择模块5X+6X多系统(系统有BOOT.INI且有BOOTMGR)
:Start56X
Cls
Title %Prog%——安装
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ [1] 安装WinPE到硬盘,并添加至启动菜单 │
Echo │ [Q] 退出安装程序,什么都不做 │
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Set Choice=
Set /P Choice= 请选择要进行的操作 (1/Q) ,然后按回车
If %Choice%Choice==Choice Goto Start56X
If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
If /I '%Choice%'=='1' GOTO Ins56X
If /I '%Choice%'=='q' EXIT
Goto Start56X
REM 安装选择模块6X(系统无BOOT.INI有BOOTMGR)
:Start6X
Cls
Title %Prog%——安装
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ [1] 安装WindowsPE到硬盘,并添加至启动菜单 │
Echo │ [Q] 退出安装程序,什么都不做 │
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Set Choice=
Set /P Choice= 请选择要进行的操作 (1/Q) ,然后按回车
If %Choice%Choice==Choice Goto Start6X
If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
If /I '%Choice%'=='1' GOTO Ins6X
If /I '%Choice%'=='q' EXIT
Goto Start6X