|
|
发表于 2009-9-15 23:06:19
|
显示全部楼层
发个安装软件选择路径的批处理,本人刚接触者东西,在红叶的上面做了一些改动,走动选择可用磁盘,总之比一般pe里用的都要方便点我觉得,所以拿出来分享下。
@echo off
setlocal enabledelayedexpansion
cls
color 2a
:chdr
::选择安装路径
echo.
echo.
set L1= ╭─○──○──○──○──○──○──○──○──○─╮
set L2= │ ┃
set L3= ╰━━━━━━━━━━━━━━━━━━━━━━━━━━━╯
echo.
echo.
ECHO %L1%
ECHO %L2%
ECHO │郑重提示:此程序需要安装才能运行,请确认已安装好网络组 ┃
ECHO %L2%
ECHO │件,并请指定文件安装路径(需要8M磁盘空间),我们会将文┃
ECHO %L2%
ECHO │件安装到您指定路径的Virtual PC_XXXXX目录下,您可在随后 ┃
ECHO %L2%
ECHO │手动删除![注意:以下列出的谨为针对此程序的可用分区。] ┃
ECHO %L2%
ECHO │ ERD 目标路径选择工具 BY:LJQ ┃
ECHO %L2%
ECHO │ 请选择要操作的磁盘目录位置: ┃
ECHO %L2%
ECHO │ [默认为第一可用分区的petemp目录] ┃
ECHO %L2%
ECHO │ 盘符 剩余空间(MB) ┃
::查询可用磁盘分区
for %%d 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 exist %%d:\nul (
for /f "tokens=3" %%z in ('dir /-c %%d:\') do set freesize=%%z
set /a freesize=!freesize:~0,-3!/1024>nul
set freesize=!freesize!
::筛选符合条件的分区
if !freesize! GEQ 8 (
ECHO │ %%d !freesize! ┃
ECHO %L2%
set fqj=!fqj!%%d
)
)
)
ECHO │ M. 其他路径(手工输入) Q. 放弃并退出 ┃
ECHO %L2%
ECHO %L3%
echo.
SET Choice=
SET /P Choice= 请选择要进行的操作[盘符/M/Q]后回车:
echo.
set target_root=
if "%Choice%" == "" (
set "target_root=%fqj:~0,1%:\petemp"
goto chkml
)
if /i "%Choice%" == "m" (
set /p "target_root=请输入具体路径[如:C:\Program Files]:"
goto chkml
)
if /i "%Choice%" == "q" goto end
)
::判断是否选择了合法的磁盘分区
echo %fqj%|findstr /i "%Choice%"
if errorlevel 1 goto false
if errorlevel 0 goto seccuss
:false
@echo 您的输入有误,请按任意键返回从新选择!
@echo.
pause>nul
cls
goto chdr
:seccuss
set "target_root=%Choice%:\petemp"
goto chkml
::检测目录是否存在
:chkml
Set RD=%RANDOM%
if /i "%target_root%" == "" (
set "target_root=%fqj:~0,1%:\petemp\Virtual PC_%RD%"
goto setup
)
SET "target_root=%target_root%\Virtual PC_%RD%"
if /i exist "%target_root%" (
goto pd
) else (
goto setup
)
:pd
set /p queren= 指定的目录已存在,是否继续安装到此目录?[Y/N]
if /i %queren%==n cls&goto chdr else goto setup
::执行安装任务
:setup
set /p qr=确认程序安装到此目录? %target_root% [Y/N]
if /i %qr%==n goto chdr else goto next
:next
PUSHD %~dp0
7z.exe x "Microsoft Virtual PC.7z" -y -aos -o"%target_root%"
PUSHD "%target_root%"
start INSTALL.BAT
exit
抱歉,那天发现一些错误,修正了下
[ 本帖最后由 ljq0527 于 2009-9-18 12:02 编辑 ] |
-
|