无忧启动论坛

标题: 谁能帮忙搞下这个PEsetup.EXE的源码,本人菜鸟一只,想看看 [打印本页]

作者: 2012湖塘    时间: 2012-4-19 23:31
标题: 谁能帮忙搞下这个PEsetup.EXE的源码,本人菜鸟一只,想看看
谁能帮忙搞下这个月光森林PEsetup.EXE的源码,本人菜鸟一直,想看看。

PE_Setup.rar

25.12 KB, 下载次数: 114, 下载积分: 无忧币 -2


作者: 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

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
作者: 2012湖塘    时间: 2012-4-20 06:17
谢谢2楼的帮助!
我下载下来慢慢的研究。




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