|
做了这个批处理,在虚拟机中测试还可以。只是本人太菜,请高手修改一下,心便更加完美
代码:
@Echo Off
color 3A
:start
CLS
Title vistaPE 系统工具箱/应急平台安装程序
echo.
echo.
Echo ╭─○──○──○──○──○──○──○──○─╮
Echo │ │
Echo │ vistaPE系统工具箱/应急平台安装程序 │
Echo │ ************************************ │
Echo │ 注意:安分区必须是可启动的NTFS分区 │
Echo │ │
Echo │ [1] 安装vistaPE工具箱到 C: 盘 │
Echo │ [2] 安装vistaPE工具箱到移动硬/U盘 │
Echo │ [3] 从 C: 盘卸载vistaPE工具箱 │
Echo │ [Q] 退出安装 │
Echo │ │
Echo │ │
Echo ╰━━━━━━━━━━━━━━━━━━━━━━━━╯
Echo 注意:如果您有多个光驱,请将其它光驱中的光盘取出。以免程序发生误操作。
echo.
Set Choice=
Set /P Choice= 请选择要进行的操作 (1~Q) ,然后按回车:
If %Choice%Choice==Choice Goto Start
If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
If /I '%Choice%'=='1' GOTO setup
If /I '%Choice%'=='2' GOTO USBSETUP
If /I '%Choice%'=='3' GOTO uninst
If /I '%Choice%'=='q' exit
Goto Start
:uninst
Echo.
Echo 真的要卸载vistaPE 应急系统和系统工具箱吗?
Echo 任意键开始卸载;CTRL+C 中止程序……
pause>nul
for %%a in (AVLDR.PE,BOOTMGR,VISTAPE.CD,PETOOL.CD,AUTORUN.INF,boot.ini,BOOT.BAK) do attrib -s -h -r c:\%%a>NUL 2>nul
Copy C:\BOOT.INI C:\BOOT.BAK /Y>NUL 2>nul
TYPE C:\BOOT.BAK|FIND /I /V "C:\AVLDR.PE">C:\BOOT.INI
for %%a in (AVLDR.PE,BOOTMGR,VISTAPE.CD,PETOOL.CD,AUTORUN.INF) do del /F /Q c:\%%a>NUL 2>nul
rd /s /q C:\BOOT>NUL 2>nul
rd /s /q C:\SOURCES>NUL 2>nul
rd /s /q C:\Programs>NUL 2>nul
Echo.
Echo Windows vistaPE 应急系统已经卸载完毕。
Echo.
Echo 任意键退出……
PAUSE >NUL
exit
:setup
echo.
echo.
Echo 正在复制安装文件,请稍候……
for %%a in (AVLDR.PE,BOOTMGR,VISTAPE.CD,PETOOL.CD,AUTORUN.INF,boot.ini,BOOT.BAK) do attrib -s -h -r c:\%%a>NUL 2>nul
Copy \\?\cdrom0\avldr\AVLDR.PE C:\ /Y>NUL 2>nul
xcopy /y /r /q /h \\?\cdrom0\*.* C:\>NUL 2>nul
if not exist C:\SOURCES\nul md C:\SOURCES>NUL 2>nul
if not exist C:\PROGRAMS\nul md C:\PROGRAMS>NUL 2>nul
if not exist C:\BOOT\nul md C:\BOOT>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\SOURCES\*.* C:\SOURCES\>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\PROGRAMS\*.* C:\PROGRAMS\>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\BOOT\*.* C:\BOOT\>NUL 2>nul
Copy C:\BOOT.INI C:\BOOT.BAK /Y>NUL 2>nul
TYPE C:\BOOT.BAK|FIND /I /V "C:\AVLDR.PE">C:\BOOT.INI
Echo C:\AVLDR.PE = "VistaPE 应急系统">>C:\BOOT.INI
for %%a in (AVLDR.PE,BOOTMGR,VISTAPE.CD,PETOOL.CD,AUTORUN.INF,boot.ini,BOOT.BAK) do attrib +s +h +r c:\%%a>NUL 2>nul
Echo.
Echo Windows vistaPE 应急系统已经成功安装到 C: 盘。
Echo.
Echo 任意键退出……
PAUSE >NUL
Exit
:USBSETUP
cls
color 2f
echo 安装 vistaPE 到 USB 移动设备
echo.
echo ================================================================
echo *** 安装前必须将移动设备的安装分区制作成可启的NTFS分区 !***
echo ================================================================
echo.
SET DISK=
SET /P DISK= 请输入要安装的磁盘盘符(例如 F: 等):
ECHO =====================================================
ECHO.
IF /I '%DISK%'=='' GOTO USBSETUP
SET DISK|find ":" >nul 2>nul
if not "%ERRORLEVEL%"=="0" goto err1
goto set
:err1
cls
color 4f
echo.
echo 盘符格式错误!请使用带冒号的标准盘符格式!
echo 例如: F: 等。注意不要选错了盘符!
echo.
echo 任意键返回重新输入……
Pause>nul
goto USBSETUP
:set
Echo 正在复制安装文件,请稍候……
for %%a in (BOOTMGR,VISTAPE.CD,PETOOL.CD,AUTORUN.INF,boot.ini) do attrib -s -h -r c:\%%a>NUL 2>nul
xcopy /y /r /q /h \\?\cdrom0\*.* %DISK%\>NUL 2>nul
if not exist %DISK%\SOURCES\nul md %DISK%\SOURCES>NUL 2>nul
if not exist %DISK%\PROGRAMS\nul md %DISK%\PROGRAMS>NUL 2>nul
if not exist %DISK%\boot\nul md %DISK%\boot>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\SOURCES\*.* %DISK%\SOURCES\>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\PROGRAMS\*.* %DISK%\PROGRAMS\>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\boot\*.* %DISK%\boot\>NUL 2>nul
%DISK%\boot\bootsect /nt60 %DISK%
for %%a in (BOOTMGR,VISTAPE.CD,PETOOL.CD,AUTORUN.INF,boot.ini) do attrib +s +h +r c:\%%a>NUL 2>nul
Echo.
Echo Windows vistaPE 应急系统已经成功安装到您的移动硬/U盘。
Echo.
Echo 任意键退出……
PAUSE >NUL
Exit
[ 本帖最后由 lyncom 于 2007-5-17 01:45 PM 编辑 ] |
|