无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2329|回复: 6
打印 上一主题 下一主题

安装VistaPE到硬盘/移动硬盘/U盘的批处理。请高手指教

[复制链接]
跳转到指定楼层
1#
发表于 2007-5-17 13:01:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做了这个批处理,在虚拟机中测试还可以。只是本人太菜,请高手修改一下,心便更加完美
代码:

@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 编辑 ]

安装vistaPE.rar

1.49 KB, 下载次数: 118, 下载积分: 无忧币 -2

安装vistaPE.rar

1.49 KB, 下载次数: 73, 下载积分: 无忧币 -2

2#
 楼主| 发表于 2007-5-17 13:07:51 | 只看该作者
另外hjm6624669修改的老九的AVLDR.PE文件(看附件),启动延时是30秒,烦请hjm6624669或哪位高手帮忙把默认延时设置为0(或说说方法)就好了

AVLDR.rar

7.83 KB, 下载次数: 56, 下载积分: 无忧币 -2

回复

使用道具 举报

3#
发表于 2007-5-17 13:43:04 | 只看该作者
我都是手动搞的,批处理不会:L
回复

使用道具 举报

4#
 楼主| 发表于 2007-5-17 13:50:13 | 只看该作者
请下载附件,因为发出来的文字在有的地方自动加上了[url=file://..........[/url]
删不掉,不知怎么回事
回复

使用道具 举报

5#
发表于 2007-5-17 14:46:23 | 只看该作者
支持楼主!继续发扬光大!:victory: :victory:
回复

使用道具 举报

6#
发表于 2007-5-17 15:21:21 | 只看该作者
凑凑热闹;P ;P



:USBSETUP
cls
color 2f
echo                      安装 vistaPE 到 USB 移动设备
echo.
echo        ================================================================
echo          *** 安装前必须将移动设备的安装分区制作成可启的NTFS分区 !***
echo        ================================================================
echo.
for %%a in (d,e,f,g,h,i,j,k,l,m n,o,p,q,r,s,t,u,v,w,x,y,z) do (
   fsutil fsinfo drivetype %%a: | findstr "可移动" >nul 2>nul && (
Echo          正在复制安装文件,请稍候……
xcopy /y /r /q /h \\?\cdrom0\*.* a%%:\>NUL 2>nul
if not exist %DISK%\SOURCES\nul md a%%:\SOURCES>NUL 2>nul
if not exist %DISK%\PROGRAMS\nul md a%%:\PROGRAMS>NUL 2>nul
if not exist %DISK%\boot\nul md a%%:\boot>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\SOURCES\*.* a%%:\SOURCES\>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\PROGRAMS\*.* a%%:\PROGRAMS\>NUL 2>nul
xcopy /y /r /e /q /h \\?\cdrom0\boot\*.* a%%:\boot\>NUL 2>nul
a%%:\boot\bootsect /nt60 a%%:
for %%b in (BOOTMGR,VISTAPE.CD,PETOOL.CD,AUTORUN.INF,boot.ini) do attrib +s +h +r a%%:\%%b>NUL 2>nul
Echo.
Echo          Windows vistaPE 应急系统已经成功安装到您的移动硬/U盘。
Echo.
Echo          任意键退出……
PAUSE >NUL
Exit
)
)
cls
echo   没有发现u盘,请插入U盘...
set choice=
set /p choice=   请选择要进行的操作 (1=继续,Q=退出):
if /i "%choice%"=="" set choice=%choice:~0,1%
if /i "%choice%"=="1" goto USBSETUP
if /i "%choice%"=="q" goto EXIT
cls
goto USBSETUP
:EXIT
exit

[ 本帖最后由 nndnnd 于 2007-5-17 09:23 PM 编辑 ]
回复

使用道具 举报

7#
发表于 2007-5-17 19:33:03 | 只看该作者
我觉得应该过滤安装盘符 的 “:”(即:在批处理里自动检测),这样使用者做起来方便高效。我自己就是这么做的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-21 13:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表