|
@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
REM 安装模块5X系统(系统有BOOT.INI且无BOOTMGR)
:Ins5X
Cls
Title %Prog%——安装 Windows PE
Echo.
Echo 检测到您的系统为NT5.X系统
Echo.
Echo 下面开始安装Windows PE系统到您的硬盘
Echo.
Echo 请输入启动菜单等待时间,并回车
Echo 0-30,0表示不显示菜单(单位:秒)
Echo.
set/p times= 等待时间设置为:
Echo.
Echo.
Echo 请输入外置程序安装到的分区号,并回车
Echo (如:C或D,不需要冒号,不区分大小写)
Echo 提示:外置程序所在的分区将不能被格式化
Echo.
set/p SoftDrv= 外置程序安装到:
Echo.
Echo 正在复制文件,请稍候 ......
CD.. >NUL
Copy WINPE.XPE %SysDrv%\ /Y >NUL
Copy WNPEFONT.BIN %SysDrv%\ /Y >NUL
Copy PESETUP\Xcopy.exe %SystemRoot%\System32\ /Y >NUL
Copy PESETUP\AVLDR %SysDrv%\ /Y >NUL
Copy AXPE\SETUPLDR.BIN %SysDrv%\PELDR /Y >NUL
If Exist AXPE Xcopy AXPE /E %SysDrv%\AXPE\ /Y >NUL
If Exist PESOFT Xcopy PESOFT /E %SoftDrv%:\PESOFT\ /Y >NUL
ATTRIB -S -H -R %SysDrv%\BOOT.INI
If Exist %SysDrv%\BOOT.BAK ATTRIB -S -H -R %SysDrv%\BOOT.BAK
Copy %SysDrv%\BOOT.INI %SysDrv%\BOOT.BAK >NUL
TYPE %SysDrv%\BOOT.BAK|FIND /I /V "C:\AVLDR">%SysDrv%\BOOT.INI
Echo C:\AVLDR="启动Windows PE预安装环境">>%SysDrv%\BOOT.INI
TYPE %SysDrv%\BOOT.INI>%SysDrv%\bot.bak
TYPE %SysDrv%\bot.bak|find "boot loader" /i>%SysDrv%\BOOT.INI
Echo timeout=%times% >>%SysDrv%\BOOT.INI
TYPE %SysDrv%\bot.bak|find "boot loader" /i /v|find "timeout" /i /v>>%SysDrv%\BOOT.INI
ATTRIB +S +H +R %SysDrv%\BOOT.INI
@del %SysDrv%\bot.bak >>nul
ATTRIB +S +H +R %SysDrv%\BOOT.INI
ATTRIB +S +H +R %SysDrv%\AVLDR
ATTRIB +S +H +R %SysDrv%\PELDR
ATTRIB +S +H +R %SysDrv%\WNPEFONT.BIN
ATTRIB +S +H +R %SysDrv%\WINPE.XPE
ATTRIB +S +H +R %SysDrv%\AXPE\WINPE.IM_
ATTRIB +S +H +R %SysDrv%\AXPE\NTDETECT.COM
ATTRIB +S +H +R %SysDrv%\AXPE
ATTRIB +S +H +R %SysDrv%\BOOT.BAK
Del /Q /F %SystemRoot%\System32\Xcopy.exe >NUL
Goto Suc5X
REM 安装模块5X与6X多系统(系统有BOOT.INI且有BOOTMGR)
:Ins56X
Cls
Title %Prog%——安装 Windows PE
Echo.
Echo 检测到您的系统为NT5.X与6.X多启动系统
Echo.
Echo 下面开始安装Windows PE系统到您的硬盘
Echo.
Echo 请输入启动菜单等待时间,并回车
Echo 0-30,0表示不显示菜单(单位:秒)
Echo.
set/p times= 等待时间设置为:
Echo.
Echo.
Echo 请输入外置程序安装到的分区号,并回车
Echo (如:C或D,不需要冒号,不区分大小写)
Echo 提示:外置程序所在的分区将不能被格式化
Echo.
set/p SoftDrv= 外置程序安装到:
Echo.
Echo 正在复制文件,请稍候 ......
CD.. >NUL
Copy WINPE.XPE %SysDrv%\ /Y >NUL
Copy WNPEFONT.BIN %SysDrv%\ /Y >NUL
Copy PESETUP\Xcopy.exe %SystemRoot%\System32\ /Y >NUL
Copy PESETUP\AVLDR %SysDrv%\ /Y >NUL
Copy AXPE\SETUPLDR.BIN %SysDrv%\PELDR /Y >NUL
If Exist AXPE Xcopy AXPE /E %SysDrv%\AXPE\ /Y >NUL
If Exist PESOFT Xcopy PESOFT /E %SoftDrv%:\PESOFT\ /Y >NUL
ATTRIB -S -H -R %SysDrv%\BOOT.INI
If Exist %SysDrv%\BOOT.BAK ATTRIB -S -H -R %SysDrv%\BOOT.BAK
Copy %SysDrv%\BOOT.INI %SysDrv%\BOOT.BAK >NUL
TYPE %SysDrv%\BOOT.BAK|FIND /I /V "C:\AVLDR">%SysDrv%\BOOT.INI
Echo C:\AVLDR="Start Windows PE System">>%SysDrv%\BOOT.INI
TYPE %SysDrv%\BOOT.INI>%SysDrv%\bot.bak
TYPE %SysDrv%\bot.bak|find "boot loader" /i>%SysDrv%\BOOT.INI
Echo timeout=%times% >>%SysDrv%\BOOT.INI
TYPE %SysDrv%\bot.bak|find "boot loader" /i /v|find "timeout" /i /v>>%SysDrv%\BOOT.INI
ATTRIB +S +H +R %SysDrv%\BOOT.INI
@del %SysDrv%\bot.bak >>nul
ATTRIB +S +H +R %SysDrv%\BOOT.INI
ATTRIB +S +H +R %SysDrv%\AVLDR
ATTRIB +S +H +R %SysDrv%\PELDR
ATTRIB +S +H +R %SysDrv%\WNPEFONT.BIN
ATTRIB +S +H +R %SysDrv%\WINPE.XPE
ATTRIB +S +H +R %SysDrv%\AXPE\WINPE.IM_
ATTRIB +S +H +R %SysDrv%\AXPE\NTDETECT.COM
ATTRIB +S +H +R %SysDrv%\AXPE
ATTRIB +S +H +R %SysDrv%\BOOT.BAK
Del /Q /F %SystemRoot%\System32\Xcopy.exe >NUL
Goto Suc5X
REM 安装模块6X(系统无BOOT.INI且有BOOTMGR)
:Ins6X
Cls
Title %Prog%——安装 Windows PE
Echo.
Echo 检测到您的系统为NT6.X或NT6.X与5.X多系统
REM 考虑到有可能是BCD中的多菜单,所以也可能为多系统,但不影响安装程序
Echo.
Echo 下面开始安装Windows PE系统到您的硬盘
Echo.
Echo 请输入启动菜单等待时间,并回车
Echo 0-30,0表示不显示菜单(单位:秒)
Echo.
set/p times= 等待时间设置为:
Echo.
Echo.
Echo 请输入外置程序安装到的分区号,并回车
Echo (如:C或D,不需要冒号,不区分大小写)
Echo 提示:外置程序所在的分区将不能被格式化
Echo.
set/p SoftDrv= 外置程序安装到:
Echo.
Echo 正在复制文件,请稍候 ......
CD.. >NUL
Copy PESETUP\BOOT.INI %SysDrv%\ /Y >NUL
Copy WINPE.XPE %SysDrv%\ /Y >NUL
Copy WNPEFONT.BIN %SysDrv%\ /Y >NUL
Copy PESETUP\Xcopy.exe %SystemRoot%\System32\ /Y >NUL
Copy PESETUP\AVLDR %SysDrv%\ /Y >NUL
Copy PESETUP\BOOT.INI %SysDrv%\ /Y >NUL
Copy AXPE\SETUPLDR.BIN %SysDrv%\PELDR /Y >NUL
If Exist AXPE Xcopy AXPE /E %SysDrv%\AXPE\ /Y >NUL
If Exist PESOFT Xcopy PESOFT /E %SoftDrv%:\PESOFT\ /Y >NUL
ATTRIB -S -H -R %SysDrv%\BOOT.INI
If Exist C:\BOOT.BAK ATTRIB -S -H -R C:\BOOT.BAK
Copy C:\BOOT.INI C:\BOOT.BAK >NUL
TYPE C:\BOOT.BAK|FIND /I /V "C:\AVLDR">C:\BOOT.INI
REM Echo C:\AVLDR="Start Windows PE System">>C:\BOOT.INI
TYPE %SysDrv%\BOOT.INI>%SysDrv%\bot.bak
TYPE %SysDrv%\boot.bak|find "boot loader" /i>%SysDrv%\BOOT.INI
Echo timeout=%times% >>%SysDrv%\BOOT.INI
TYPE %SysDrv%\boot.bak|find "boot loader" /i /v|find "timeout" /i /v>>%SysDrv%\BOOT.INI
ATTRIB +S +H +R %SysDrv%\BOOT.INI
@del %SysDrv%\bot.bak >>nul
@del %SysDrv%\boot.bak >>nul
ATTRIB +S +H +R %SysDrv%\BOOT.INI
ATTRIB +S +H +R %SysDrv%\AVLDR
ATTRIB +S +H +R %SysDrv%\PELDR
ATTRIB +S +H +R %SysDrv%\WNPEFONT.BIN
ATTRIB +S +H +R %SysDrv%\WINPE.XPE
ATTRIB +S +H +R %SysDrv%\AXPE\WINPE.IM_
ATTRIB +S +H +R %SysDrv%\AXPE\NTDETECT.COM
ATTRIB +S +H +R %SysDrv%\AXPE
Del /Q /F %SystemRoot%\System32\Xcopy.exe >NUL
Goto Suc6X
REM 安装完成显示模块5X或5X+6X多系统(系统有BOOT.INI)
:Suc5X
Title %Prog%——安装完成
Echo.
Echo 恭喜!!
Echo.
Echo 成功将镜像Windows PE安装到您的 %SysDrv% 盘
Echo.
Echo 并将外置程序安装到了您的 %SoftDrv%: 盘
Echo.
Echo 系统分区中的 BOOT.INI 备份为 BOOT.BAK
Echo.
Echo 如果您需要将Windows PE卸载,请重新运行本安装程序
Echo.
Echo 请按任意键退出...
PAUSE >NUL
Exit
REM 安装完成显示模块6X(系统无BOOT.INI)
:Suc6X
Title %Prog%——安装完成
Echo.
Echo 恭喜!!
Echo.
Echo 成功将镜像Windows PE安装到您的 %SysDrv% 盘
Echo.
Echo 并将外置程序安装到了您的 %SoftDrv%: 盘
Echo.
Echo 如果您需要将Windows PE卸载,请重新运行本安装程序
Echo.
Echo 请按任意键退出 ...
PAUSE >NUL
Exit
REM 没检测到5X及6X系统存在
:NoSys
Echo.
Echo 安装程序检测到您的机器没有安装Windows 2000以上的系统
Echo 安装程序不支持您的安装环境。
Echo 请先在硬盘上安装Windows 2000以上的系统后再执行本安装程序
Echo.
Echo 请按任意键退出...
PAUSE >NUL
Exit |
|