或者说说他的安装批处理是怎么写的~~望高手帮忙!!作者: x9tian 时间: 2009-5-10 20:09
@Echo Off
CLS
Set Prog=U盘维护工具
Set L1= ╭──────────────────╮
Set L2= │ │
Set L3= ╭──┤ %Prog% ├──╮
Set L4= │ │ │ │
Set L5= │ └──────────────────┘ │
Set L6= │ │
Set L7= ├────────────────────────┤
Set L8= │ 江山如画- 翔九天 mail: x9tian@qq.com │
Set L9= ╰────────────────────────╯
Title %Prog%
Set AddATTR=ATTRIB +S +H +R
Set DelATTR=ATTRIB -S -H -R
:Start
CLS
COLOR 0F
Title %Prog%——安装程序
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ 请选择功能选项: │
Echo %L6%
Echo │ [1] 程序介绍、安装教程 │
Echo │ [2] U 盘、移动硬盘安装 (HDD 模式) │
Echo │ [3] U 盘安装 (ZIP 模式) │
Echo │ [4] UltraISO 写入 ( U+ 模式) │
Echo │ [5] 本地硬盘安装 │
Echo │ [6] 重新封装ISO镜像文件 (光盘模式) │
Echo │ [Q] 退出安装程序 │
Echo %L6%
Echo %L7%
Echo │ 为防数据丢失,安装前请先备份好您的重要资料 │
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice= 请选择要进行的操作 (1/2/3/4/5/6/Q) ,然后按回车:
If "%Choice%"=="" Goto Start
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Goto Help
If /I "%Choice%"=="2" Goto UD
If /I "%Choice%"=="3" Goto zip
If /I "%Choice%"=="4" Goto UltraISO
If /I "%Choice%"=="5" Goto HD
If /I "%Choice%"=="6" Goto ReISO
If /I "%Choice%"=="Q" Exit
Goto Start
:Help
Boot\Help\Index.htm
Goto Start
:ReISO
cd Boot
重新封装光盘.bat
Exit
:HD
CLS
COLOR 3F
Title %Prog%——本地硬盘安装
Set RP=
Set mode=m
Set TargetP=硬盘&&Set TxtSp=
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 RP=%%I:
If "%RP%"=="" Goto HDRPErr
Set PEDIR=%RP%\Boot
If Exist %PEDIR%\grub\MyFeng.ico Goto Err1
FIND /I "c:\grldr=x9tianPE启动" %RP%\Boot.ini>NUL 2>NUL
If "%Errorlevel%"=="0" Goto Err1
Echo.&&Echo.&&Echo 将在您的%RP%盘进行安装,请按任意键开始复制文件 。。。
PAUSE>NUL 2>NUL
Call :CopySetFiles
Goto SUCCESS
:UD
CLS
COLOR 1F
Title %Prog%——U盘,移动硬盘安装,HDD 模式
Echo.
For /F "skip=2 tokens=*" %%I In ('Boot\Ins\CHECKUSB.EXE') DO SET Us=%%I
If "%Us%"=="当前可移动磁盘分区:" Goto NoUD
Echo %Us%&&Echo.
If "%NoUD%"=="Yes" Echo 错误提示:您选择的分区 %RP% 不存在、写保护、未格式化或不是 U 盘分区,请按任意键后重新设定。&&Echo.
Set /P RP= 请输入您选择的 U 盘盘符,然后按回车(不要冒号,例如 F):
Echo.&&Echo.
If "%RP%"=="" Goto UD
If Not "%RP%"=="" Set RP=%RP:~0,1%:
For /F %%I In ('Boot\Ins\CHECKUSB.EXE %RP%') DO SET Err2=%%I
If Not "%Err2%"=="1" Set NoUD=Yes&&Goto UD
Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
Cd.>%TestFile%
If Not Exist %TestFile% Set NoUD=Yes&&Goto UD
Del %TestFile% /Q>NUL 2>NUL
Set U=U&&Set PEDIR=%RP%\Boot&&Set TargetP= U盘&&Set TxtSp=
If Exist %PEDIR%\grub\MyFeng.ico Goto Err1
CLS
Echo.
Echo 您选择的 U 盘分区为 %RP%,下面将对您的 U 盘进行格式化并写入引导
Echo.
Echo 请严格按照相关工具软件界面中的提示操作,以防出错。
Echo.&&Echo.&&Echo 请按任意键开始执行格式化程序 。。。
PAUSE>NUL
Start /Wait Boot\Ins\HPUSBFW.EXE
label %RP% MyFeng
CLS
Echo.
Echo.
Echo ==格式化执行完毕,请选择写入引导方式==
Echo.
Echo.
Echo 您想以MBR还是NT作为引导方式?
Echo.
Echo [输入“M”为MBR模式 输入“N”为NT模式(推荐使用NT模式)]
Echo.
Set mode=
Set /P mode= 请输入后按回车:
If /I %mode%==m Goto mbr
Boot\Ins\Bootsect.exe /nt52 %RP% >NUL 2>NUL
CLS
Echo.
Echo 已对%RP%盘写入了NT引导记录,下面将复制启动文件到%RP%盘 。。。
Echo.
Echo.&&Echo.&&Echo 请按任意键开始复制文件 。。。
PAUSE>NUL
Echo.
Call :CopySetFiles
Goto SUCCESS
:zip
CLS
COLOR 2F
Title %Prog%——U盘安装,ZIP 模式
Echo.
For /F "skip=2 tokens=*" %%I In ('Boot\Ins\CHECKUSB.EXE') DO SET Us=%%I
If "%Us%"=="当前可移动磁盘分区:" Goto NoUD
Echo %Us%&&Echo.
If "%NoUD%"=="Yes" Echo 错误提示:您设定的分区 %RP% 不存在、写保护、未格式化或不是 U 盘分区,请按任意键重新设定。&&Echo.
Set /P RP= 请选择您的 U 盘盘符(不需要冒号,例如 F):
Echo.&&Echo.
If "%RP%"=="" Goto zip
If Not "%RP%"=="" Set RP=%RP:~0,1%:
For /F %%I In ('Boot\Ins\CHECKUSB.EXE %RP%') DO SET Err2=%%I
If Not "%Err2%"=="1" Set NoUD=Yes&&Goto zip
Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
Cd.>%TestFile%
If Not Exist %TestFile% Set NoUD=Yes&&Goto zip
Del %TestFile% /Q>NUL 2>NUL
Set U=U&&Set mode=z&&Set PEDIR=%RP%\Boot&&Set TargetP= U盘&&Set TxtSp=
If Exist %RP%\Boot Goto Err1
If Exist %PEDIR% Goto Err1
CLS
Echo.
Echo 您选择的 U 盘分区为 %RP%,下面将对您的 U 盘进行格式化并写入DOS引导
Echo.
Echo 请严格按照以下提示在弹出的软件上进行操作,以防出错:
Echo.
Echo 1.选择 创建带迷你DOS系统的可启动闪存盘;
Echo 2.选择 任何基于DOS的软盘或软盘镜像;
Echo 3.选择 从本地或网络载入可用的镜像文件,
Echo 点击 “浏览”选择“Boot\Ins\FlashBoot\DOS软盘.IMG”;
Echo 4.点击 “刷新列表”,“驱动器盘符”选择U盘盘符;
Echo 5.选择 Superfloppy (USB-ZIP 启动模式)
Echo 6.确认摘要信息,点击“完成”;
Echo 7.如果提示成功,请点击“关闭”退出;如果提示错误,请重新操作。
Echo.&&Echo.&&Echo 请按任意键继续,运行引导盘制作软件 。。。
PAUSE>NUL
Start /Wait Boot\Ins\FlashBoot\FlashBoot.exe
label %RP% MyFeng
CLS
Echo.
Echo 已将%RP%盘成功格式化并写入了DOS引导,下面将复制程序文件到%RP%盘 。。。
Echo.
Echo.&&Echo.&&Echo 请按任意键开始复制文件 。。。
PAUSE>NUL
Echo.
Call :CopySetFiles
Goto SUCCESS
:UltraISO
CLS
COLOR 5F
Title %Prog%——U盘,移动硬盘安装,U+ 模式
Echo.
For /F "skip=2 tokens=*" %%I In ('Boot\Ins\CHECKUSB.EXE') DO SET Us=%%I
If "%Us%"=="当前可移动磁盘分区:" Goto NoUD
Echo %Us%&&Echo.
If "%NoUD%"=="Yes" Echo 错误提示:您选择的分区 %RP% 不存在、写保护、未格式化或不是 U 盘分区,请按任意键后重新设定。&&Echo.
Set /P RP= 请输入您选择的 U 盘盘符,然后按回车(不要冒号,例如 F):
Echo.&&Echo.
If "%RP%"=="" Goto UltraISO
If Not "%RP%"=="" Set RP=%RP:~0,1%:
For /F %%I In ('Boot\Ins\CHECKUSB.EXE %RP%') DO SET Err2=%%I
If Not "%Err2%"=="1" Set NoUD=Yes&&Goto UltraISO
Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
Cd.>%TestFile%
If Not Exist %TestFile% Set NoUD=Yes&&Goto UltraISO
Del %TestFile% /Q>NUL 2>NUL
Set U=U&&Set PEDIR=%RP%\Boot&&Set TargetP= U盘&&Set TxtSp=
If Exist %PEDIR%\grub\MyFeng.ico Goto Err1
CLS
:U_mode
CLS
Echo.
Echo 您选择的 U 盘分区为 %RP%,下面将对您的 U 盘使用 U+ 写入程序
Echo.
Echo.
Echo 请选择使用 U+ 写入的启动模式:
Echo.
Echo ----------------------------------
Echo.
Echo [1] NT+GRUB 启动模式 [USB-HDD+]
Echo.
Echo [2] DOS+GURB 启动模式 [USB-ZIP+]
Echo.
Echo [3] SYSLINUX 启动模式 [英文菜单]
Echo.
Echo ----------------------------------
Echo.
Set Choice=
Set /P Choice= 请选择要使用的启动模式 (1/2/3) ,然后按回车:
If "%Choice%"=="" Goto U_mode
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Goto U_NT
If /I "%Choice%"=="2" Goto U_DOS
If /I "%Choice%"=="3" Goto U_SYS
Goto U_mode
:U_NT
CLS
Echo.
Echo 您选择了使用 U+ 写入 NT+GRUB 启动模式
Echo.
Echo 请严格按照以下提示在弹出的软件上进行操作,以防出错:
Echo.
Echo 1.按任意键后将弹出UltraISO软件与资源管理器;
Echo 2.调整UltraISO与资源管理器窗口位置,在屏幕上同时可见;
Echo 3.把资源管理器中所有文件与文件夹拖到UltraISO右侧空白窗口;
Echo 4.点击菜单栏:“启动”-“写入硬盘映象...”;
Echo 5.“硬盘驱动器”选择要写入的U盘;
Echo 6.“写入方式”选择:[建议]USB-HDD+ 或USB-ZIP+
Echo 7.点击“写入”,并选“是”确认,等待写入完成;
Echo 8.消息栏显示“刻录成功”,写入结束,点“返回”;
Echo 9.关闭UltraISO,选“否”,不保存文件修改,并关闭资源管理器;
Echo 0.如果遇到错误,请详阅以上提示重新操作。
Echo.&&Echo.&&Echo 请按任意键继续,运行 U+ 写入软件与资源管理器 。。。
PAUSE>NUL
REN Boot\ISOLINUX IS-TEMP >NUL 2>NUL
REN Boot\isolinux.bin is-temp.bin >NUL 2>NUL
If Exist grub.exe del grub.exe /q >NUL 2>NUL
If Exist AUTOEXEC.BAT del AUTOEXEC.BAT /q >NUL 2>NUL
If Exist COMMAND.COM del COMMAND.COM /q >NUL 2>NUL
If Exist IO.SYS del IO.SYS /q >NUL 2>NUL
If Exist MSDOS.SYS del MSDOS.SYS /q >NUL 2>NUL
If Exist NTDETECT.COM del NTDETECT.COM /q >NUL 2>NUL
If Exist ntldr del ntldr /q >NUL 2>NUL
If Exist GRLDR del GRLDR /q >NUL 2>NUL
COPY Boot\Ins\NTDETECT.COM /y >NUL 2>NUL
COPY Boot\Ins\ntldr /y >NUL 2>NUL
COPY Boot\Ins\GRLDR /y >NUL 2>NUL
explorer .\
Start /Wait Boot\Ins\UltraISO.exe
If Exist grub.exe del grub.exe /q >NUL 2>NUL
If Exist AUTOEXEC.BAT del AUTOEXEC.BAT /q >NUL 2>NUL
If Exist COMMAND.COM del COMMAND.COM /q >NUL 2>NUL
If Exist IO.SYS del IO.SYS /q >NUL 2>NUL
If Exist MSDOS.SYS del MSDOS.SYS /q >NUL 2>NUL
If Exist NTDETECT.COM del NTDETECT.COM /q >NUL 2>NUL
If Exist ntldr del ntldr /q >NUL 2>NUL
If Exist GRLDR del GRLDR /q >NUL 2>NUL
REN Boot\IS-TEMP ISOLINUX >NUL 2>NUL
REN Boot\is-temp.bin isolinux.bin >NUL 2>NUL
label %RP% MyFeng
REN %RP%\Boot\IS-TEMP ISOLINUX >NUL 2>NUL
REN %RP%\Boot\is-temp.bin isolinux.bin >NUL 2>NUL
If Exist %RP%\grub.exe %AddATTR% %RP%\grub.exe
If Exist %RP%\AUTOEXEC.BAT %AddATTR% %RP%\AUTOEXEC.BAT
If Exist %RP%\COMMAND.COM %AddATTR% %RP%\COMMAND.COM
If Exist %RP%\IO.SYS %AddATTR% %RP%\IO.SYS
If Exist %RP%\MSDOS.SYS %AddATTR% %RP%\MSDOS.SYS
If Exist %RP%\NTDETECT.COM %AddATTR% %RP%\NTDETECT.COM
If Exist %RP%\ldlinux.sys %AddATTR% %RP%\ldlinux.sys
If Exist %RP%\ntldr %AddATTR% %RP%\ntldr
If Exist %RP%\GRLDR %AddATTR% %RP%\GRLDR
%AddATTR% %pedir% /S /D>NUL 2>NUL
Goto SUCCESS
:U_DOS
CLS
Echo.
Echo 您选择了使用 U+ 写入 DOS+GURB 启动模式
Echo.
Echo 请严格按照以下提示在弹出的软件上进行操作,以防出错:
Echo.
Echo 1.按任意键后将弹出UltraISO软件与资源管理器;
Echo 2.调整UltraISO与资源管理器窗口位置,在屏幕上同时可见;
Echo 3.把资源管理器中所有文件与文件夹拖到UltraISO右侧空白窗口;
Echo 4.点击菜单栏:“启动”-“写入硬盘映象...”;
Echo 5.“硬盘驱动器”选择要写入的U盘;
Echo 6.“写入方式”选择:[建议]USB-ZIP+ 或USB-HDD+
Echo 7.点击“写入”,并选“是”确认,等待写入完成;
Echo 8.消息栏显示“刻录成功”,写入结束,点“返回”;
Echo 9.关闭UltraISO,选“否”,不保存文件修改,并关闭资源管理器;
Echo 0.如果遇到错误,请详阅以上提示重新操作。
Echo.&&Echo.&&Echo 请按任意键继续,运行 U+ 写入软件与资源管理器 。。。
PAUSE>NUL
REN Boot\ISOLINUX IS-TEMP >NUL 2>NUL
REN Boot\isolinux.bin is-temp.bin >NUL 2>NUL
If Exist grub.exe del grub.exe /q >NUL 2>NUL
If Exist AUTOEXEC.BAT del AUTOEXEC.BAT /q >NUL 2>NUL
If Exist COMMAND.COM del COMMAND.COM /q >NUL 2>NUL
If Exist IO.SYS del IO.SYS /q >NUL 2>NUL
If Exist MSDOS.SYS del MSDOS.SYS /q >NUL 2>NUL
If Exist NTDETECT.COM del NTDETECT.COM /q >NUL 2>NUL
If Exist ntldr del ntldr /q >NUL 2>NUL
If Exist GRLDR del GRLDR /q >NUL 2>NUL
COPY Boot\Ins\grub.exe /y >NUL 2>NUL
xcopy /H /K Boot\Ins\dos\*.* /Y >NUL 2>NUL
explorer .\
Start /Wait Boot\Ins\UltraISO.exe
If Exist grub.exe del grub.exe /q >NUL 2>NUL
If Exist AUTOEXEC.BAT del AUTOEXEC.BAT /q >NUL 2>NUL
If Exist COMMAND.COM del COMMAND.COM /q >NUL 2>NUL
If Exist IO.SYS del IO.SYS /q >NUL 2>NUL
If Exist MSDOS.SYS del MSDOS.SYS /q >NUL 2>NUL
If Exist NTDETECT.COM del NTDETECT.COM /q >NUL 2>NUL
If Exist ntldr del ntldr /q >NUL 2>NUL
If Exist GRLDR del GRLDR /q >NUL 2>NUL
REN Boot\IS-TEMP ISOLINUX >NUL 2>NUL
REN Boot\is-temp.bin isolinux.bin >NUL 2>NUL
label %RP% MyFeng
REN %RP%\Boot\IS-TEMP ISOLINUX >NUL 2>NUL
REN %RP%\Boot\is-temp.bin isolinux.bin >NUL 2>NUL
If Exist %RP%\grub.exe %AddATTR% %RP%\grub.exe
If Exist %RP%\AUTOEXEC.BAT %AddATTR% %RP%\AUTOEXEC.BAT
If Exist %RP%\COMMAND.COM %AddATTR% %RP%\COMMAND.COM
If Exist %RP%\IO.SYS %AddATTR% %RP%\IO.SYS
If Exist %RP%\MSDOS.SYS %AddATTR% %RP%\MSDOS.SYS
If Exist %RP%\NTDETECT.COM %AddATTR% %RP%\NTDETECT.COM
If Exist %RP%\ldlinux.sys %AddATTR% %RP%\ldlinux.sys
If Exist %RP%\ntldr %AddATTR% %RP%\ntldr
If Exist %RP%\GRLDR %AddATTR% %RP%\GRLDR
%AddATTR% %pedir% /S /D>NUL 2>NUL
Goto SUCCESS
:U_SYS
CLS
Echo.
Echo 您选择了使用 U+ 写入 SYSLINUX 启动模式
Echo.
Echo 请严格按照以下提示在弹出的软件上进行操作,以防出错:
Echo.
Echo 1.按任意键后将弹出UltraISO软件与资源管理器;
Echo 2.调整UltraISO与资源管理器窗口位置,在屏幕上同时可见;
Echo 3.把资源管理器中所有文件与文件夹拖到UltraISO右侧空白窗口;
Echo 4.点击菜单栏:“启动”-“写入硬盘映象...”;
Echo 5.“硬盘驱动器”选择要写入的U盘;
Echo 6.“写入方式”选择:USB-HDD+或USB-ZIP+
Echo 7.点击“写入”,并选“是”确认,等待写入完成;
Echo 8.消息栏显示“刻录成功”,写入结束,点“返回”;
Echo 9.关闭UltraISO,选“否”,不保存文件修改,并关闭资源管理器;
Echo 0.如果遇到错误,请详阅以上提示重新操作。
Echo.&&Echo.&&Echo 请按任意键继续,运行 U+ 写入软件与资源管理器 。。。
PAUSE>NUL
REN Boot\IS-TEMP ISOLINUX >NUL 2>NUL
REN Boot\is-temp.bin isolinux.bin >NUL 2>NUL
If Exist grub.exe del grub.exe /q >NUL 2>NUL
If Exist AUTOEXEC.BAT del AUTOEXEC.BAT /q >NUL 2>NUL
If Exist COMMAND.COM del COMMAND.COM /q >NUL 2>NUL
If Exist IO.SYS del IO.SYS /q >NUL 2>NUL
If Exist MSDOS.SYS del MSDOS.SYS /q >NUL 2>NUL
If Exist NTDETECT.COM del NTDETECT.COM /q >NUL 2>NUL
If Exist ntldr del ntldr /q >NUL 2>NUL
If Exist GRLDR del GRLDR /q >NUL 2>NUL
explorer .\
Start /Wait Boot\Ins\UltraISO.exe
label %RP% MyFeng
If Exist %RP%\grub.exe %AddATTR% %RP%\grub.exe
If Exist %RP%\AUTOEXEC.BAT %AddATTR% %RP%\AUTOEXEC.BAT
If Exist %RP%\COMMAND.COM %AddATTR% %RP%\COMMAND.COM
If Exist %RP%\IO.SYS %AddATTR% %RP%\IO.SYS
If Exist %RP%\MSDOS.SYS %AddATTR% %RP%\MSDOS.SYS
If Exist %RP%\NTDETECT.COM %AddATTR% %RP%\NTDETECT.COM
If Exist %RP%\ldlinux.sys %AddATTR% %RP%\ldlinux.sys
If Exist %RP%\ntldr %AddATTR% %RP%\ntldr
If Exist %RP%\GRLDR %AddATTR% %RP%\GRLDR
%AddATTR% %pedir% /S /D>NUL 2>NUL
Goto SUCCESS
:NoUD
CLS
COLOR 4F
Title %Prog%——没有检测到 U 盘,请插入U盘
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ 您的计算机似乎没有安装 U 盘,您想怎么办? │
Echo %L6%
Echo │ 返回首页,重新选择安装选项。 │
Echo %L6%
Echo │ [Q] 退出安装 │
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice= 请选择要进行的操作 (B/Q) ,然后按回车:
If "%Choice%"=="" Goto NoUD
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="B" Goto Start
If /I "%Choice%"=="Q" Exit
Goto NoUD
Exit
:Err1
CLS
COLOR 8F
Title %Prog%——卸载
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ 您的%TargetP%中好像已经安装了MyFeng,您想怎么办?%TxtSp% │
Echo %L6%
Echo │ [1] 卸载原有的x9tianwinpe,并且重新安装。 │
Echo │ [2] 卸载原有的x9tianwinpe,并且不再安装。 │
Echo │ 返回首页,重新选择安装选项。 │
Echo │ [Q] 退出安装 │
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice= 请选择要进行的操作 (1/2/B/Q) ,然后按回车:
If "%TargetP%"=="硬盘" Set U=
If "%Choice%"=="" Goto Err1
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Set Choi=1&&Goto UnInstall
If /I "%Choice%"=="2" Goto UnInstall
If /I "%Choice%"=="B" Goto Start
If /I "%Choice%"=="Q" Exit
Goto Err1
Exit
:UnInstall
CLS
COLOR 8F
Echo.&&Echo.&&Echo 正在执行卸载,请稍候 。。。
If Exist %pedir%\imgs\WinPE.IS_ Del %pedir%\imgs\WinPE.IS_ /Q>NUL 2>NUL
If Exist %RP%\ldlinux.sys %DelATTR% %RP%\ldlinux.sys&&Del %RP%\ldlinux.sys /Q>NUL 2>NUL
If Exist %RP%\GRLDR %DelATTR% %RP%\GRLDR&&Del %RP%\GRLDR /Q>NUL 2>NUL
If Exist %RP%\NTLDR If Not Exist %RP%\Boot.ini %DelATTR% %RP%\NTLDR&&Del %RP%\NTLDR /Q>NUL 2>NUL
If Not "%U%"=="" Set OPD=%RP%
If Exist %RP%\Boot.ini %DelATTR% %RP%\Boot.ini>NUL 2>NUL
If Exist %pedir% If Not Exist %RP%\Bootmgr RD %pedir% /S /Q>NUL 2>NUL
Set TMPINIFile=Boot_%RANDOM%.INI
If Exist %RP%\Boot.bak (
%DelATTR% %RP%\Boot.bak
TYPE %RP%\Boot.bak|FIND /I /V "C:\grldr">%RP%\%TMPINIFile%
TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\grldr">%RP%\Boot.ini
) Else (
If Exist %RP%\Boot.ini TYPE %RP%\Boot.ini|FIND /I /V "C:\grldr">%RP%\%TMPINIFile%
If Exist %RP%\%TMPINIFile% TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\grldr">%RP%\Boot.ini
)
If Exist %RP%\Boot.bak Del %RP%\Boot.bak>NUL 2>NUL
If Exist %RP%\%TMPINIFile% %DelATTR% %RP%\%TMPINIFile%&&Del %RP%\%TMPINIFile%>NUL 2>NUL
If Exist %RP%\Boot.ini %AddATTR% %RP%\Boot.ini
If "%U%"=="U" (
If Exist %RP%\AUTOEXEC.BAT %DelATTR% %RP%\AUTOEXEC.BAT&&Del %RP%\AUTOEXEC.BAT /Q>NUL 2>NUL
If Exist %RP%\command.com %DelATTR% %RP%\command.com&&Del %RP%\command.com /Q>NUL 2>NUL
If Exist %RP%\io.sys %DelATTR% %RP%\io.sys&&Del %RP%\io.sys /Q>NUL 2>NUL
If Exist %RP%\msdos.sys %DelATTR% %RP%\msdos.sys&&Del %RP%\msdos.sys /Q>NUL 2>NUL
If Exist %RP%\grub.exe %DelATTR% %RP%\grub.exe&&Del %RP%\grub.exe /Q>NUL 2>NUL
)
If "%U%"=="" If Exist %RP%\Bootmgr (
If Exist %pedir%\ntd.com %DelATTR% %pedir%\ntd.com&&Del %pedir%\ntd.com /Q>nul 2>nul
If Exist %pedir%\fon.bin %DelATTR% %pedir%\fon.bin&&Del %pedir%\fon.bin /Q>nul 2>nul
If Exist %pedir%\ini %DelATTR% %pedir%\ini&&Del %pedir%\ini /Q>nul 2>nul
If Exist %pedir%\cmldr %DelATTR% %pedir%\cmldr&&Del %pedir%\cmldr /Q>nul 2>nul
If Exist %pedir%\cons %DelATTR% %pedir%\cons&&Del %pedir%\cons /Q>nul 2>nul
If Exist %pedir%\ldrxpe %DelATTR% %pedir%\ldrxpe&&Del %pedir%\ldrxpe /Q>nul 2>nul
If Exist %pedir%\xpsi %DelATTR% %pedir%\xpsi&&Del %pedir%\xpsi /Q>nul 2>nul
If Exist %pedir%\grub %DelATTR% %pedir%\grub&&rd /s /q %pedir%\grub >nul 2>nul
If Exist %pedir%\prog %DelATTR% %pedir%\prog&&rd /s /q %pedir%\prog >nul 2>nul
If Exist %pedir%\imgs %DelATTR% %pedir%\imgs&&rd /s /q %pedir%\imgs >nul 2>nul
If Exist %pedir%\desktop.ini %DelATTR% %pedir%\desktop.ini&&Del %pedir%\desktop.ini /Q>nul 2>nul
If Exist %RP%\temp_bcd.txt Del %RP%\temp_bcd.txt >nul 2>nul
If Exist %RP%\temp_bcd1.txt Del %RP%\temp_bcd1.txt >nul 2>nul
If Exist %RP%\vid.ini Del %RP%\vid.ini >nul 2>nul
)
Set RP=
Title %Prog%——卸载完成
If "%Choi%"=="1" (Echo.&&Echo.&&Echo 卸载完成,请按任意键准备安装 。。。&&PAUSE>NUL 2>NUL&&Goto Start)
Echo.&&Echo.&&Echo 卸载完成,请按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit
:HDRPErr
CLS
Set RP=
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:\BootMGR Set RP=%%I:&&Set PEDIR=%%I:\Boot
CHKNTFS %RP%|Find /I "RAW" >NUL 2>NUL
If "%ErrorLevel%"=="0" (Echo.&&Echo.&&Echo 请先弹出您光驱中的Vista安装光盘,再按任意键重新选择安装。。。&&PAUSE>NUL 2>NUL&&Goto Start)
If Not "%RP%"=="" (
TITLE %Prog%——检测到 Windows Vista 分区
Set OPT=Vista&&Set OPT0=已安装了 Vista 系统&&Set OPT1=[S] 将 MyFeng 安装到 Vista 分区。
) Else (
TITLE %Prog%——没有检测到系统分区
Set OPT=NewHD&&Set OPT0=没有安装过操作系统 &&Set OPT1=[S] 全新硬盘,将 MyFeng 安装到活动分区。
)
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo │ 好像您的电脑中%OPT0%,您想怎么办?│
Echo %L6%
Echo │ %OPT1% │
Echo │ 返回首页,重新选择安装选项。 │
Echo │ [Q] 退出安装 │
Echo %L6%
Echo %L7%
Echo │ Vista安装选项需先关闭UAC或以管理员身份运行 │
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice= 请选择要进行的操作 (S/B/Q) ,然后按回车:
If "%Choice%"=="" Goto HDRPErr
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="S" If "%OPT%"=="Vista" Goto Vista
If /I "%Choice%"=="S" If "%OPT%"=="NewHD" Goto NewHD
If /I "%Choice%"=="B" Goto Start
If /I "%Choice%"=="Q" Exit
Goto HDRPErr
Exit
:NewHD
CLS
TITLE %Prog%——在全新硬盘中安装
If "%NoNewErr%"=="Yes" Echo 错误:您设定的分区 %RP% 不存在、写保护、或未格式化,请按任意键重新设定。&&Echo.
Echo 请设置您需要安装 WinPE 到哪个分区(注意一定要是活动分区)
Echo.
Set /P RP=请输入您需要安装 WinPE 的分区盘符(不需要冒号,例如 C),然后按回车:
Echo.&&Echo.
If "%RP%"=="" Goto NewHD
If Not "%RP%"=="" Set RP=%RP:~0,1%:
For /F %%I In ('Boot\Ins\CHECKUSB.EXE %RP%') DO SET Err2=%%I
If Not Exist %RP% Set NoNewErr=Yes&&Goto NewHD
Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
Cd.>%TestFile%
If Not Exist %TestFile% Set NoNewErr=Yes&&Goto NewHD
Del %TestFile% /Q>NUL 2>NUL
Set PEDIR=%RP%\Boot
If Exist %PEDIR%\grub\MyFeng.ico Goto Err1
Boot\Ins\Bootsect.exe /nt52 %RP% >NUL 2>NUL
Echo 已为您的新硬盘写入NT引导,准备复制文件 。。。
Echo.
Echo.&&Echo.&&Echo 请按任意键开始复制文件 。。。
PAUSE>NUL
If Exist %RP%\NTLDR %DelATTR% %RP%\NTLDR&&Ren %RP%\NTLDR NTLDR.BAK
Set NoLDR=Yes
Set mode=n
Call :CopySetFiles
Goto SUCCESS
:CopySetFiles
Title %Prog%——复制并设置文件
CLS
Echo.&&Echo ==安装程序正在复制文件到%RP%盘,估计需要数分钟,请稍候 。。。
Echo.
Echo 正在复制的文件:
Echo.
If Exist %pedir% %DelATTR% %pedir%\*.* >NUL 2>NUL
If Exist %RP%\grldr %DelATTR% %RP%\grldr
If /I %mode%==n xCopy /H /K Boot\Ins\ntldr %RP%\ /Y
If /I Not %mode%==z xCopy /H /K Boot\Ins\grldr %RP%\ /Y
If /I %mode%==z xcopy /H /K Boot\Ins\dos\*.* %RP%\ /Y&&%AddATTR% %RP%\*.* & xcopy /H /K Boot\Ins\grub.exe %RP%\ /Y&& attrib +h +r %RP%\grub.exe
xcopy /E /H /K Boot %pedir%\ /Y
If "%U%"=="" If Exist %RP%\Boot.ini %DelATTR% %RP%\Boot.ini
If "%U%"=="" If Exist %RP%\Boot.ini If Exist %RP%\Boot.bak %DelATTR% %RP%\Boot.bak
If "%U%"=="" If Exist %RP%\Boot.ini Copy %RP%\Boot.ini %RP%\Boot.bak>NUL 2>NUL
If "%U%"=="" If Exist %RP%\Boot.ini TYPE %RP%\Boot.bak|FIND /I /V "C:\grldr">%RP%\Boot.ini
If "%U%"=="" If Exist %RP%\Boot.ini Echo C:\grldr=系统维护启动盘>>%RP%\Boot.ini
If Exist %RP%\Boot.ini %AddATTR% %RP%\Boot.ini
If Exist %RP%\ntldr %AddATTR% %RP%\ntldr
%AddATTR% %RP%\GRLDR
%AddATTR% %pedir% /S /D>NUL 2>NUL
Goto :EOF
:SUCCESS
Title %Prog%——安装完成
CLS
Echo.
For %%i In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do If /I "%RP%"=="%%i:" Set RP=%%i:
Echo 恭喜您,已经成功将%PROG%安装到您的%RP%盘。
If "%U%"=="" (
Echo.
If Exist %RP%\Boot.ini Echo 系统分区中的 Boot.ini 备份为 Boot.bak。
)
Echo.
Echo 注:对%RP%盘写入的启动文件均设置为隐藏文件。
Echo.
Echo.
Echo 如果您需要卸载本启动盘,请重新运行本安装程序。
Echo.&&Echo.&&Echo 请按任意键退出 。。。
PAUSE>NUL 2>NUL
@start iexplore.exe http://myfeng.cn
Exit
:Vista
cls
Set vid=
Set timeout=3
Set mode=n
TITLE %Prog%——在Vista系统中安装
Boot\Ins\bcdedit >%RP%\temp_bcd.txt
type %RP%\temp_bcd.txt | find "Windows Boot Manager" >nul && Goto bcd_1
Del %RP%\temp_bcd.txt >nul 2>nul
cls
Echo.&&Echo.&&Echo 请在Vista系统下以管理员身份运行,按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit
:bcd_1
type %RP%\temp_bcd.txt | find "%prog%" >nul && Goto un_bcd
Boot\Ins\bcdedit /create /d "%prog%" /application Bootsector >%RP%\vid.ini
For,/f,"tokens=2 delims={",%%i,In (%RP%\vid.ini) Do (
Set vida=%%i
)
For,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
Set vid={%%i}
)
Echo %vid%>%RP%\vid.ini
Boot\Ins\bcdedit /Set %vid% device partition=%RP% >NUL 2>NUL
Boot\Ins\bcdedit /Set %vid% path \ntldr >NUL 2>NUL
Boot\Ins\bcdedit /displayorder %vid% /addlast >NUL 2>NUL
Boot\Ins\bcdedit /timeout %timeout% >NUL 2>NUL
Call :deltmp
Call :CopySetFiles
Goto SUCCESS
:deltmp
Del %RP%\temp_bcd.txt >nul 2>nul
Del %RP%\temp_bcd1.txt >nul 2>nul
Del %RP%\vid.ini >nul 2>nul
Goto :EOF
:un_bcd
cls
Echo.
Echo 您的Vista系统可能已经安装了%prog%
Echo.
Set un_bcd=
Set /P un_bcd= 您是否要卸载?[y/是 n/否]:
If /I %un_bcd%==y Goto un_bcd_1
Call :deltmp
Echo.&&Echo.&&Echo 安装任务已被取消,请按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit
:un_bcd_1
For /f "tokens=1 delims=:" %%i In ('findstr /n \ntldr %RP%\temp_bcd.txt') Do (
Set nid=%%i
)
Set /a nid=%nid%-2
findstr /n identifier %RP%\temp_bcd.txt>%RP%\temp_bcd1.txt
For /f "tokens=2" %%i In ('findstr /n %nid%:identifier %RP%\temp_bcd1.txt') Do (
Echo %%i>%RP%\vid.ini
)
For,/f,"tokens=1",%%i,In (%RP%\vid.ini) Do (
Set vid=%%i
)
Boot\Ins\bcdedit /delete %vid% /cleanup >nul
Boot\Ins\bcdedit /timeout %timeout% >nul
If Exist %RP%\ntldr Goto UnInstall作者: denslin 时间: 2024-4-30 12:50
Thank You very much