|  | 
2#
 
 
 楼主|
发表于 2010-1-1 22:38:01
|
只看该作者 
| @Echo Off PUSHD %~dp0
 COLOR 2F
 Set Prog= 兵临城下专用PE安装卸载工具
 Set L1=      ╭══════════════════╮
 Set L2=      ║                  ║
 Set L3=   ╭══┤    %Prog%    ├══╮
 Set L4=   ║  ║                  ║  ║
 Set L5=   ║  ╰══════════════════╯  ║
 Set L6=   ║                        ║
 Set L7=   ╟════════════════════════╢
 Set L8=   ║             版权没有 翻版不究               ║
 Set L9=   ╰────────────────────────╯
 Title %Prog%
 Set AddATTR=ATTRIB +S +H
 Set DelATTR=ATTRIB -S -H -R
 Set LogFile=PEInstall.log
 :CheckOS
 if /i not "%os%."=="Windows_NT." goto SystemErro
 ::判断系统版本并设置TheOS
 ver|find /i " 6.1">nul &&set Winver=WIN7&&  set TheOS=WIN7
 ver|find /i " 6.0">nul &&set Winver=vista&&  set TheOS=Vista
 ver|find /i " 5.0">nul &&set Winver=winnt&&  set TheOS=2000
 ver|find /i " 5.1">nul &&set Winver=winnt&&  set TheOS=XP
 ver|find /i " 5.2">nul &&set Winver=winnt&&  set TheOS=2003
 goto Start
 :SystemErro
 cls
 Echo.
 Echo.
 Echo  注意:未经测试,本软件可能不适用于非 Windows PE/2000/XP/2003/Vista/WIN7 操作系统。
 Echo  按回车键退出安装程序
 Pause >nul
 Exit
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Start
 CLS
 Title %Prog%——主菜单
 Echo.
 Echo %L1%
 Echo %L2%
 Echo %L3%
 Echo %L4%
 Echo %L5%
 Echo %L6%
 Echo    ║  请选择:                       ║
 Echo %L6%
 Echo    ║            [1] 安装                   ║
 Echo    ║                                              ║
 Echo    ║            [2] 卸载                    ║
 Echo    ║                                              ║
 Echo    ║            [Q] 退出                         ║
 Echo %L6%
 Echo %L7%
 Echo %L7%
 Echo %L8%
 Echo %L9%
 Echo.
 Echo.
 ::Set Choice=
 Set /P Choice=   请选择要进行的操作 (1/2/Q) ,然后按回车:
 If "%Choice%"=="" Goto Start
 If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
 If /I "%Choice%"=="1" Goto INSTALL
 If /I "%Choice%"=="2" Goto UNINSTALL
 If /I "%Choice%"=="Q" Exit
 Goto Start
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :INSTALL
 cls
 Echo.
 Echo.
 Set /P Choice=   请选择要安装的目标盘(如C,按-键回主选单),然后按回车:
 If "%Choice%"=="" Goto INSTALL
 If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
 If /I "%Choice%"=="-" Goto Start
 Set RP=%Choice%:
 IF NOT EXIST %RP% (
 echo.
 echo      %RP%盘不存在,请重新选择!
 echo.
 echo.
 pause
 Goto INSTALL
 )
 Set PEDIR=%RP%\MINIPE
 For /F %%I In ('MYINS\CHECKUSB.EXE %RP%') DO SET ISUD=%%I
 Echo.
 IF "%ISUD%"=="1" ECHO     检测结果:%RP%为USB磁盘。
 IF "%ISUD%"=="0" ECHO     检测结果:%RP%不是USB磁盘
 Set TestFile=%RP%\MINIPETest_%RANDOM%.MT
 Cd.>%TestFile%
 If Not Exist %TestFile% Set UNWRITE=1
 If Exist %TestFile% Del %TestFile% /Q>NUL 2>NUL
 IF "%UNWRITE%"=="1" IF not "%ISUD%"=="1" Goto ErrHd
 Echo.
 IF #%UNWRITE%==#1 (
 Echo     测试结果:目标盘不可写!
 ) ELSE Echo     测试结果:目标盘可写!
 IF "%ISUD%"=="1" (
 CALL :FORMAT_U
 )
 Goto INST_PE
 :ErrHd
 cls
 echo.
 echo     目标硬盘写保护或未格式化!按任意键退出.....
 pause>nul
 exit
 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :FORMAT_U
 CLS
 Echo.
 Echo.
 Echo     您选择的%RP%盘为 U 盘分区,下面将对您的 U 盘进行格式化并写入引导
 Echo.
 Echo     请格式化主引导记录MBR 为Grub For DOS
 Echo.
 Echo.
 pause
 start /wait MYINS\BOOTICE.EXE
 GOTO :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :INST_PE
 CLS
 Title %Prog%——安装
 Echo.
 Echo %L1%
 Echo %L2%
 Echo %L3%
 Echo %L4%
 Echo %L5%
 Echo %L6%
 Echo    ║  请选择:                       ║
 Echo %L6%
 Echo    ║            [1] 安装 Windows XPE          ║
 Echo    ║                                              ║
 Echo    ║            [2] 安装 Windows7 PE3       ║
 Echo    ║                                              ║
 Echo    ║            [3] 安装 RAMXP               ║
 Echo    ║                                              ║
 Echo    ║            [Q] 退出                         ║
 Echo %L6%
 Echo %L7%
 Echo %L8%
 Echo %L9%
 Echo       您现在使用的是 Windows %TheOS% 操作系统 !
 if "%TheOS%"=="XP" Echo       ( 或 Windows XP 核心的 WinPE )
 if "%TheOS%"=="2003" Echo       ( 或 Windows 2003 核心的 WinPE )
 if "%TheOS%"=="Vista" Echo       ( 请确保您拥有管理员权限以及关闭了UAC,否则安装可能失败 )
 if "%TheOS%"=="WIN7" Echo       ( 请确保您拥有管理员权限以及关闭了UAC,否则安装可能失败 )
 Echo.
 ::Set Choice=
 Set /P Choice=   请选择要进行的操作 (1/2/3/Q) ,然后按回车:
 If "%Choice%"=="" Goto INST_PE
 If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
 If /I "%Choice%"=="1" Goto XPE
 If /I "%Choice%"=="2" Goto PE3
 If /I "%Choice%"=="3" Goto RAMXP
 If /I "%Choice%"=="Q" Exit
 Goto INST_PE
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :XPE
 Set XPEDIR=%RP%\MINIPE\WINPE.IS_
 If Exist %XPEDIR% Goto Err1
 If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
 CLS
 Echo.
 SET Choice=
 SET /P Choice=   外置程序包默认放到您选定的 %RP%盘,要放到其他盘吗?(Y/N):
 ECHO.
 Echo.
 Echo 正在复制文件,请稍候 ............
 IF NOT #%Choice%==# SET Choice=%Choice:~0,1%
 IF /I '%Choice%'=='y' CALL :SetExtra
 IF /I NOT '%Choice%'=='y' SET OP=%RP%
 If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
 if /i Exist %RP%\ProgramData (
 CALL :Vista_Install
 ) Else (
 CALL :Pubilc_Install
 )
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Vista_Install
 set WINPE_GUID={589f9ce2-f634-11de-97a2-001d0f0e0ef6}
 bcdedit /timeout 3 >NUL 2>NUL
 bcdedit /create %WINPE_GUID% /d "Windows XPE" /application BOOTSECTOR >NUL 2>NUL
 bcdedit /set %WINPE_GUID% device partition=%RP% >NUL 2>NUL
 bcdedit /set %WINPE_GUID% path \PELDR >NUL 2>NUL
 bcdedit /displayorder %WINPE_GUID% /addlast >NUL 2>NUL
 copy MYINS\SETUPLDR.BIN %RP%\PELDR >NUL 2>NUL
 If Not Exist %RP%\NTDETECT.COM copy MYINS\NTDETECT.COM %RP%\NTDETECT.COM >NUL 2>NUL
 copy MYINS\WINNT.XPE %RP%\WINNT.XPE /y>NUL 2>NUL
 Copy ..\MINIPE\WINPE.IS_ %RP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\WINPE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\SOFT.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\Driver.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 IF NOT Exist %OP%\MINIPE\SOFT.WIM Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 %AddATTR% %RP%\MINIPE /S /D
 %AddATTR% %RP%\MINIPE\*.* /S /D
 %AddATTR% %OP%\MINIPE /S /D
 %AddATTR% %OP%\MINIPE\*.* /S /D
 %AddATTR% %RP%\PELDR /S /D
 %AddATTR% %RP%\WINNT.XPE
 %AddATTR% %RP%\NTDETECT.COM
 CALL :LOG
 CALL :SUCCESS
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Pubilc_Install
 IF "%ISUD%"=="1" (
 CALL :UD
 ) ELSE (
 CALL :CopyFile
 )
 CALL :LOG
 CALL :SUCCESS
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CopyFile
 copy MYINS\SETUPLDR.BIN %RP%\PELDR >NUL 2>NUL
 copy MYINS\AVLDR %RP%\MINIPE\AVLDR >nul 2>nul
 copy MYINS\WINNT.XPE %RP%\WINNT.XPE /y>NUL 2>NUL
 If Not Exist %RP%\NTDETECT.COM copy MYINS\NTDETECT.COM %RP%\NTDETECT.COM >NUL 2>NUL
 If Not Exist %RP%\NTLDR copy MYINS\NTLDR %RP%\NTLDR >NUL 2>NUL
 Copy ..\MINIPE\WINPE.IS_ %RP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\WINPE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\SOFT.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\Driver.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 If Exist %RP%\BOOT.INI %DelATTR% %RP%\BOOT.INI
 If Exist %RP%\BOOT.INI If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
 If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
 If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.BAK|FIND /I /V "%RP%\MINIPE">%RP%\BOOT.INI
 If Exist %RP%\BOOT.INI Echo %RP%\MINIPE\AVLDR=Windows XPE>>%RP%\BOOT.INI
 If /I "%TheOS%"=="2000" (
 %DelATTR% %RP%\NTLDR&&%DelATTR% %RP%\bootfont.bin
 del /f /q %RP%\NTLDR
 del /f /q %RP%\bootfont.bin
 copy ..\BOOT\FONT.BIN %RP%\bootfont.bin /y>nul
 copy MYINS\ntldr1 %RP%\ntldr /y>nul
 )
 %AddATTR% %RP%\MINIPE /S /D
 %AddATTR% %RP%\MINIPE\*.* /S /D
 %AddATTR% %OP%\MINIPE /S /D
 %AddATTR% %OP%\MINIPE\*.* /S /D
 %AddATTR% %RP%\PELDR /S /D
 %AddATTR% %RP%\BOOT.BAK /S /D
 %AddATTR% %RP%\WINNT.XPE
 If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :UD
 If Not Exist %RP%\BOOT MD %RP%\BOOT>NUL 2>NUL
 Copy ..\BOOT\NTDETECT %RP%\BOOT\NTDETECT /y>NUL 2>NUL
 Copy MYINS\grldr %RP%\GRLDR /y>NUL 2>NUL
 Copy MYINS\menu.lst %RP%\menu.lst /y>NUL 2>NUL
 XCOPY ..\BOOT\GRUB4DOS /E %RP%\BOOT\GRUB4DOS\ /Y /H /R>NUL 2>NUL
 Copy ..\BOOT\XPPE %RP%\BOOT\XPPE /y>NUL 2>NUL
 Copy ..\MINIPE\WINPE.IS_ %RP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\WINPE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\SOFT.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\Driver.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :SetExtra
 CLS
 If "%NoOP%"=="Yes" Echo 错误:您设定的分区不存在或写保护,请按任意键重新设定。&&Echo.
 Set /P OP=请设定 外置程序 存放的分区符[不需要冒号,例如 D(推荐)]:
 Echo.&&Echo.
 If "%OP%"=="" Goto SetExtra
 If Not "%OP%"=="" Set OP=%OP:~0,1%:
 Set TestFile=%OP%\MaotaoTest.MT
 Cd.>%TestFile%
 If Not Exist %TestFile% Set NoOP=Yes&&Goto SetExtra
 Del %TestFile% /Q>NUL 2>NUL
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :SUCCESS
 Title %Prog%——安装完成
 CLS
 Echo.
 Echo.
 Echo 已经成功将镜像安装到 %RP% 盘
 Echo.
 Echo 已经成功将外置程序安装到 %OP% 盘
 Echo.
 If Exist %RP%\Boot.INI Echo 系统分区中的BOOT.INI备份为BOOT.BAK
 Echo.
 Echo 如果您需要将 WinPE 卸载,请重新运行本安装程序。
 Echo.
 Echo.
 Echo 请按任意键退出......
 PAUSE>NUL 2>NUL
 Exit
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :LOG
 >%RP%\%LogFile% Cd.
 >>%RP%\%LogFile% Echo ;此文件为 WinPE 的安装LogFile,请不要随意删除
 >>%RP%\%LogFile% Echo ;否则可能会造成 WinPE 的卸载不够彻底!!!
 >>%RP%\%LogFile% Echo.
 >>%RP%\%LogFile% Echo WinPE镜像文件=%PEFile%
 >>%RP%\%LogFile% Echo WinPE外置位置=%OP%
 >>%RP%\%LogFile% Echo WinPE安装日期=%Date% %Time%
 %AddATTR% %RP%\%LogFile%
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Err1
 CLS
 Title %Prog%——卸载
 Echo.
 Echo %L1%
 Echo %L2%
 Echo %L3%
 Echo %L4%
 Echo %L5%
 Echo %L6%
 Echo    ║ 您好像已经安装了镜像中的系统,您想怎么办?     ║
 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 "%Choice%"=="" Goto Err1
 If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
 If /I "%Choice%"=="1" Set UN=1&&Set Choi=1&&Goto UnInstall
 If /I "%Choice%"=="2" Set UN=1&&Goto UnInstall
 If /I "%Choice%"=="B" Goto Start
 If /I "%Choice%"=="Q" Exit
 Goto Err1
 Exit
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :UnInstall
 cls
 If /I "%UN%"=="1" (
 Goto Un
 )
 Echo.
 Echo.
 Echo.
 Set /P Choice=   请选择要进行卸载的目标盘(如C,按-键回主菜单),然后按回车:
 If "%Choice%"=="" Goto KillFile
 If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
 If /I "%Choice%"=="-" Goto Start
 Set RP=%Choice%:
 IF NOT EXIST %RP% (
 echo.
 echo 选定的盘%RP%不存在,请重新输入!
 echo.
 pause
 Goto Err1
 )
 :Un
 If Exist %RP%\%LogFile% For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"WinPE外挂位置^" %RP%\%LogFile%') do SET OPD=%%i
 If "%OPD%"=="" Set OPD=%RP%
 If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE&&Del %RP%\WINNT.XPE /Q>NUL 2>NUL
 If Exist %RP%\%LogFile% %DelATTR% %RP%\%LogFile%&&Del %RP%\%LogFile% /Q>NUL 2>NUL
 If Exist %RP%\PELDR %DelATTR% %RP%\PELDR&&Del %RP%\PELDR /Q>NUL 2>NUL
 If Exist %RP%\MINIPE RD %RP%\MINIPE /S /Q>NUL 2>NUL
 If Exist %OPD%\MINIPE RD %OPD%\MINIPE /S /Q>NUL 2>NUL
 If Exist %RP%\BOOT RD %RP%\BOOT /S /Q>NUL 2>NUL
 If Exist %RP%\GRLDR %DelATTR% %RP%\GRLDR&&Del %RP%\GRLDR /Q>NUL 2>NUL
 If Exist %RP%\menu.lst %DelATTR% %RP%\menu.lst&&Del %RP%\menu.lst /Q>NUL 2>NUL
 If Exist %RP%\W7LDR %DelATTR% %RP%\W7LDR&&Del %RP%\W7LDR /Q>NUL 2>NUL
 If Exist %RP%\ramxp %DelATTR% %RP%\ramxp&&Del %RP%\ramxp /Q>NUL 2>NUL
 If Exist %RP%\grldr.mbr %DelATTR% %RP%\grldr.mbr&&Del %RP%\grldr.mbr /Q>NUL 2>NUL
 If Exist %RP%\ramos.gz %DelATTR% %RP%\ramos.gz&&Del %RP%\ramos.gz /Q>NUL 2>NUL
 if /i NOT "%TheOS%"=="Vista" if /i NOT "%TheOS%"=="WIN7" Del %RP%\BOOTMGR /Q>NUL 2>NUL
 If Exist %RP%\NTDETECT.COM if /i Exist %RP%\ProgramData %DelATTR% %RP%\NTDETECT.COM&&Del %RP%\NTDETECT.COM /Q>NUL 2>NUL
 FIND /I "%RP%\MINIPE" %RP%\BOOT.INI>NUL 2>NUL
 If "%Errorlevel%"=="0" %DelATTR% %RP%\BOOT.INI&&Del %RP%\BOOT.INI
 %DelATTR% %RP%\BOOT.INI>NUL 2>NUL
 If Exist %RP%\BOOT.BAK (
 %DelATTR% %RP%\BOOT.BAK
 TYPE %RP%\BOOT.BAK|FIND /I /V "%LDRFLAG%">%RP%\BOOT.INI
 ) Else (
 If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK /Y>NUL 2>NUL
 If Exist %RP%\BOOT.BAK TYPE %RP%\BOOT.BAK|FIND /I /V "%LDRFLAG%">%RP%\BOOT.INI
 )
 If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK&&Del %RP%\BOOT.BAK>NUL 2>NUL
 If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI >NUL 2>NUL
 if /i Exist %RP%\ProgramData bcdedit /delete {2a16f1f0-f610-11de-b8bd-001d0f0e0ef6}>NUL 2>NUL
 if /i Exist %RP%\ProgramData bcdedit /delete {3e3895fa-74d4-11de-a03b-00242cc11ea1}>NUL 2>NUL
 if /i Exist %RP%\ProgramData bcdedit /delete {589f9ce2-f634-11de-97a2-001d0f0e0ef6}>NUL 2>NUL
 Set RP=
 Title %Prog%——卸载完成
 If /I "%Choi%"=="1" (
 Echo.
 Echo.
 Echo    卸载完成,请按任意键准备重新安装 。。。
 PAUSE>NUL 2>NUL
 Goto :Start
 )
 Echo.
 Echo.
 Echo    卸载完成,请按任意键退出 。。。
 PAUSE>NUL 2>NUL
 Exit
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :PE3
 Set PEDIR=%RP%\MINIPE
 Set PE3DIR=%RP%\MINIPE\WIN7PE.WIM
 If Exist %PE3DIR% Goto Err1
 CLS
 Echo.
 SET Choice=
 SET /P Choice=   外置程序包默认放到您选定的 %RP%盘,要放到其他盘吗?(Y/N):
 ECHO.
 IF NOT #%Choice%==# SET Choice=%Choice:~0,1%
 IF /I '%Choice%'=='y' CALL :SetExtra
 IF /I NOT '%Choice%'=='y' SET OP=%RP%
 If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
 If Not Exist %RP%\BOOT MD %RP%\BOOT>NUL 2>NUL
 Echo.
 Echo 正在复制文件,请稍候 ............
 if /i Exist %RP%\ProgramData (
 CALL :Vista_PE3
 ) Else (
 CALL :Pubilc_PE3
 )
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Vista_PE3
 bcdedit /timeout 3 >NUL 2>NUL
 set RAMDISK_OPTIONS={ed539f34-74d6-11de-b518-00242cc11ea1}
 set WINPE_GUID={3e3895fa-74d4-11de-a03b-00242cc11ea1}
 bcdedit /create %RAMDISK_OPTIONS% -d "Windows7 PE3.0" -device>NUL 2>NUL
 bcdedit /set %RAMDISK_OPTIONS% ramdisksdidevice boot>NUL 2>NUL
 bcdedit /set %RAMDISK_OPTIONS% ramdisksdipath \boot\boot.sdi>NUL 2>NUL
 bcdedit /create %WINPE_GUID% -d "Windows7 PE3.0" -application OSLOADER>NUL 2>NUL
 bcdedit /set %WINPE_GUID% device ramdisk=[BOOT]\MINIPE\WIN7PE.wim,%RAMDISK_OPTIONS%>NUL 2>NUL
 bcdedit /set %WINPE_GUID% path \windows\system32\boot\winload.exe>NUL 2>NUL
 bcdedit /set %WINPE_GUID% osdevice ramdisk=[BOOT]\MINIPE\WIN7PE.wim,%RAMDISK_OPTIONS%>NUL 2>NUL
 bcdedit /set %WINPE_GUID% systemroot \windows>NUL 2>NUL
 bcdedit /set %WINPE_GUID% detecthal yes>NUL 2>NUL
 bcdedit /set %WINPE_GUID% winpe yes>NUL 2>NUL
 bcdedit /set %WINPE_GUID% locale "zh-CN">NUL 2>NUL
 bcdedit -displayorder %WINPE_GUID% /addlast>NUL 2>NUL
 XCOPY ..\MINIPE\WIN7PE.WIM %RP%\MINIPE\ /Y /H /R>NUL 2>NUL
 If Not Exist %OP%\MINIPE\SOFT.WIM Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 If Not Exist %OP%\MINIPE\WIN7PE.INI Copy ..\MINIPE\WIN7PE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 CALL :LOG
 CALL :SUCCESS
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Pubilc_PE3
 If /I NOT Exist %RP%\ProgramData XCOPY ..\BOOT\ZH-CN /E %RP%\BOOT\ZH-CN\ /Y /H /R>NUL 2>NUL
 If /I NOT Exist %RP%\ProgramData XCOPY ..\BOOT\FONTS /E %RP%\BOOT\FONTS\ /Y /H /R>NUL 2>NUL
 If /I NOT Exist %RP%\BOOT\BCD COPY ..\BOOT\BCD %RP%\BOOT\BCD /Y>NUL 2>NUL
 If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\BOOT.SDI %RP%\BOOT\BOOT.SDI /Y>NUL 2>NUL
 If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\MEMTEST.EXE %RP%\BOOT\MEMTEST.EXE /Y>NUL 2>NUL
 If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\BOOTSECT.EXE %RP%\BOOT\BOOTSECT.EXE /Y>NUL 2>NUL
 If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\ETFSBOOT.COM %RP%\BOOT\ETFSBOOT.COM /Y>NUL 2>NUL
 XCOPY ..\MINIPE\WIN7PE.WIM %RP%\MINIPE\ /Y /H /R>NUL 2>NUL
 If Not Exist %OP%\MINIPE\SOFT.WIM Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
 If Not Exist %OP%\MINIPE\WIN7PE.INI Copy ..\MINIPE\WIN7PE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
 IF "%ISUD%"=="1" (
 CALL :PE3_U
 ) Else (
 CALL :XP
 )
 If /i NOT Exist %RP%\BOOTMGR Copy ..\BOOTMGR %RP%\BOOTMGR /Y>NUL 2>NUL
 CALL :LOG
 CALL :SUCCESS
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :XP
 If /I NOT Exist %RP%\ProgramData Copy MYINS\W7LDR %RP%\W7LDR /y>NUL 2>NUL
 If /I NOT Exist %RP%\ProgramData %DelATTR% %RP%\BOOT.INI
 If /I NOT Exist %RP%\ProgramData If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
 If /I NOT Exist %RP%\ProgramDataI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
 If /I NOT Exist %RP%\ProgramData Echo %RP%\W7LDR=Windows7 PE3.0>>%RP%\BOOT.INI
 %AddATTR% %RP%\MINIPE /S /D
 %AddATTR% %RP%\MINIPE\*.* /S /D
 %AddATTR% %OP%\MINIPE /S /D
 %AddATTR% %OP%\MINIPE\*.* /S /D
 If /I NOT Exist %RP%\ProgramData %AddATTR% %RP%\BOOT /S /D
 If /I NOT Exist %RP%\ProgramData %AddATTR% %RP%\BOOT\*.* /S /D
 If /I NOT Exist %RP%\ProgramData %AddATTR% %RP%\W7LDR
 If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :PE3_U
 XCOPY ..\BOOT\GRUB4DOS /E %RP%\BOOT\GRUB4DOS\ /Y /H /R>NUL 2>NUL
 Copy MYINS\grldr %RP%\GRLDR /y>NUL 2>NUL
 Copy MYINS\menu.lst %RP%\menu.lst /y>NUL 2>NUL
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :RAMXP
 Set RAMXPDIR=%RP%\ramos.gz
 If Exist %RAMXPDIR% Goto Err1
 if /i Exist %RP%\ProgramData (
 CALL :Vista_RAM
 ) Else (
 CALL :Pubilc_RAM
 )
 Goto :RAMXP
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Vista_RAM
 set WINPE_GUID={2a16f1f0-f610-11de-b8bd-001d0f0e0ef6}
 bcdedit /timeout 3 >NUL 2>NUL
 bcdedit /create %WINPE_GUID% /d "RamOS XP" /application BOOTSECTOR>NUL 2>NUL
 bcdedit /set %WINPE_GUID% device partition=%RP%>NUL 2>NUL
 bcdedit /set %WINPE_GUID% path \grldr.mbr>NUL 2>NUL
 bcdedit /displayorder %WINPE_GUID% /addlast>NUL 2>NUL
 Copy ..\ramos.gz %RP%\ramos.gz /y>NUL 2>NUL
 Copy MYINS\grldr.mbr %RP%\grldr.mbr /y>NUL 2>NUL
 Copy MYINS\grldr-ram %RP%\grldr /y>NUL 2>NUL
 %AddATTR% %RP%\grldr.mbr
 %AddATTR% %RP%\grldr
 %AddATTR% %RP%\ramos.gz
 CLS
 Echo.
 Echo 已经成功将镜像安装到 %RP% 盘
 Echo.
 Echo 如果您需要将 RAMXP 卸载,请重新运行本安装程序。
 Echo.
 Echo.
 Echo 请按任意键退出......
 PAUSE>NUL 2>NUL
 Exit
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :Pubilc_RAM
 Copy ..\ramos.gz %RP%\ramos.gz /y>NUL 2>NUL
 IF "%ISUD%"=="1" (
 CALL :RAM_U
 ) Else (
 CALL :RAMHD
 )
 CLS
 Echo.
 Echo 已经成功将镜像安装到 %RP% 盘
 Echo.
 Echo 如果您需要将 RAMXP 卸载,请重新运行本安装程序。
 Echo.
 Echo.
 Echo 请按任意键退出......
 PAUSE>NUL 2>NUL
 Exit
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :RAM_U
 XCOPY ..\BOOT\GRUB4DOS /E %RP%\BOOT\GRUB4DOS\ /Y /H /R>NUL 2>NUL
 Copy MYINS\grldr %RP%\GRLDR /y>NUL 2>NUL
 Copy MYINS\menu.lst %RP%\menu.lst /y>NUL 2>NUL
 Goto :EOF
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :RAMHD
 Copy MYINS\ramxp %RP%\ramxp /y>NUL 2>NUL
 If Exist %RP%\BOOT.INI %DelATTR% %RP%\BOOT.INI
 If Exist %RP%\BOOT.INI If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
 If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
 If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.BAK|FIND /I /V "%RP%\MINIPE">%RP%\BOOT.INI
 If Exist %RP%\BOOT.INI Echo %RP%\ramxp=RamOS XP>>%RP%\BOOT.INI
 %AddATTR% %RP%\ramos.gz
 %AddATTR% %RP%\ramxp
 If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
 Goto :EOF
 
 [ 本帖最后由 潮退潮生 于 2010-1-2 17:16 编辑 ]
 | 
 |