雨林木风 > 新闻资讯 >
在系统安装盘里提取PE的源码
在系统安装盘里提取PE的源码
作者:佚名 来源:雨林木风 2014-04-04 06:58:54
现在的WINPE都追求全,功能多,但是都忽视了体积。很大用户仅仅是使用PE搞下维护,并且很少用到PE。体积太大的话看着害怕,好在我们有oscdimg.exe这个工具。
比如,我制作了一个220M的PE,想从它的里边提取骨头版,45M维护型,90M网络版,所以我就写了个程序,程序看着多,但是主程序就仅仅一句(红色部分),希望各位制作PE提供坛友使用的老大们能将它移植过去,帮助用户快速DIY,附上代码和所用文件。
- @Echo Off
- PUSHD %~dp0
- COLOR 0B
- Set Prog=小马WinPE专用单ISO提取程序
- Set L1= ╭══════════════════╮
- Set L2= ║ ║
- Set L3= ╭══┤ 小马WinPE专用单ISO提取程序 ├══╮
- Set L4= ║ ║ ║ ║
- Set L5= ║ ╰══════════════════╯ ║
- Set L6= ║ ║
- Set L7= ╟════════════════════════╢
- Set L8= ║ 版权所有:深度mapeimapei 盗版不究 ║
- Set L9= ╰────────────────────────╯
- Title %Prog%
- ::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] 提取骨头版WINPE (仅含有内核) ║
- Echo ║ ║
- Echo ║ [2] 提取45M迷你U盘版 (外置仅含有basic包) ║
- Echo ║ ║
- Echo ║ [3] 提取90M带网络维护版 (含有网路和安装程序) ║
- Echo ║ ║
- Echo ║ [Q] 退出提取模式 ║
- Echo %L6%
- Echo %L7%
- Echo %L7%
- Echo %L8%
- Echo %L9%
- Echo.
- 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 Start
- If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
- If /I "%Choice%"=="1" set mkiso=gutou.iso&&Goto gutou
- If /I "%Choice%"=="2" set mkiso=45mu.iso&&Goto 45mu
- If /I "%Choice%"=="3" set mkiso=90Mnet.iso&&Goto 90Mnet
- If /I "%Choice%"=="Q" Exit
- Goto Start
- :gutou
- Title 单独生成%mkiso%文件...
- CLS
- Echo.
- Echo.
- Set /P Save=请设定%mkiso%文件 存放的分区符[不需要冒号,例如 D(推荐)]:
- Echo.&&Echo.
- If Not "%Save%"=="" Set Save=%Save:~0,1%:
- md %Save%\gutou
- set isotem="%Save%\gutou"
- Echo.
- Echo.
- Echo 正在整理必要文件,请稍后...
- Copy WINPE.IM_ %isotem%\ /y>NUL 2>NUL
- Copy WINNT.XPE %isotem%\ /y>NUL 2>NUL
- Copy BOOTFONT.BIN %isotem%\ /y>NUL 2>NUL
- XCOPY WXPE /E %isotem%\WXPE\ /Y /H /R>NUL 2>NUL
- Cls
- Echo.
- Echo.
- [color=Red]Echo 正在生成%mkiso%文件到%Save% 目录...
- If Exist EZBOOT\Oscdimg.Exe If Exist EZBOOT\PE.BIF (
- EZBOOT\Oscdimg.Exe -L"gutou" -T06/01/2009,00:00:00 -H -N -B"EZBOOT\PE.BIF" -O "%isotem%" "%Save%\gutou.iso">Nul[/color]
- )
- Goto SUCCESS
- :45mu
- Title 单独生成%mkiso%文件...
- CLS
- Echo.
- Echo.
- Set /P Save=请设定%mkiso%文件存放的分区符[不需要冒号,例如 D(推荐)]:
- Echo.&&Echo.
- If Not "%Save%"=="" Set Save=%Save:~0,1%:
- md %Save%\45MU
- set isotem="%Save%\45MU"
- md %isotem%\MINIPE
- Echo.
- Echo.
- Echo 正在整理必要文件,请稍后...
- Copy WINPE.IM_ %isotem%\ /y>NUL 2>NUL
- Copy WINNT.XPE %isotem%\ /y>NUL 2>NUL
- Copy BOOTFONT.BIN %isotem%\ /y>NUL 2>NUL
- Copy MINIPE\BASIC.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\BLISS.JPG %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\WINPE.INI %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\LOADOP.INI %isotem%\MINIPE\ /y>NUL 2>NUL
- XCOPY WXPE /E %isotem%\WXPE\ /Y /H /R>NUL 2>NUL
- Echo.
- Echo.
- Echo 正在生成%mkiso%文件到%Save% 目录...
- If Exist EZBOOT\Oscdimg.Exe If Exist EZBOOT\PE.BIF (
- EZBOOT\Oscdimg.Exe -L"45MU" -T06/01/2009,00:00:00 -H -N -B"EZBOOT\PE.BIF" -O "%isotem%" "%Save%\45MU.iso">Nul
- )
- Goto SUCCESS
- :90Mnet
- Title 单独生成%mkiso%文件...
- CLS
- Echo.
- Echo.
- Set /P Save=请设定%mkiso%文件 存放的分区符[不需要冒号,例如 D(推荐)]:
- Echo.&&Echo.
- If Not "%Save%"=="" Set Save=%Save:~0,1%:
- Md %Save%\90Mnet
- set isotem="%Save%\90Mnet"
- md %isotem%\MINIPE
- Echo.
- Echo.
- Echo 正在整理必要文件,请稍后...
- Copy WINPE.IM_ %isotem%\ /y>NUL 2>NUL
- Copy WINNT.XPE %isotem%\ /y>NUL 2>NUL
- Copy BOOTFONT.BIN %isotem%\ /y>NUL 2>NUL
- Copy MINIPE\BASIC.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\GHOST.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\MMC.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\DISKGENIUS.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\OPERA.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\SYSTEM.WIM %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\WINPE.INI %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\LOADOP.INI %isotem%\MINIPE\ /y>NUL 2>NUL
- Copy MINIPE\BLISS.JPG %isotem%\MINIPE\ /y>NUL 2>NUL
- XCOPY WXPE /E %isotem%\WXPE\ /Y /H /R>NUL 2>NUL
- XCOPY SETUP /E %isotem%\SETUP\ /Y /H /R>NUL 2>NUL
- XCOPY EZBOOT /E %isotem%\EZBOOT\ /Y /H /R>NUL 2>NUL
- Echo.
- Echo.
- Echo 正在生成%mkiso%文件到%Save% 目录...
- If Exist EZBOOT\Oscdimg.Exe If Exist EZBOOT\PE.BIF (
- EZBOOT\Oscdimg.Exe -L"90Mnet" -T06/01/2009,00:00:00 -H -N -B"EZBOOT\easy.bif" -O "%isotem%" "%Save%\90Mnet.iso">Nul
- )
- Goto SUCCESS
- :SUCCESS
- Title %Prog%——安装完成
- CLS
- Echo.
- rd /s /q %isotem%
- Cls
- Echo.
- Echo. %mkiso% 文件已成功生成至 %Save% 目录内...
- Echo.
- set /p Cho=返回主菜单继续制作请输入Y,否则按Enter(回车)退出。
- if /i "%Cho%"=="Y" CALL :Start
- Goto :EOF
- exit
相关阅读
- 热门手游
- 最新手游
- 本类周排行
- 本类总排行