|
回复 #403 2011Sunday 的帖子
楼主的算是比较完美了。。。
我现在也去掉了之前自动Y盘大小设置为临时目录,
现在的Y盘的创建是通过判断空闲内存大小和外置文件大小来创建的,创建的空间比外置文件略大一些,方便拔除U盘
当然批处理的后面4句如能修改为更恰当的内容就更好了
@echo off
color 0a
cd /d "%~dp0"
if exist %windir%\tools.txt (del /f /s /q %windir%\tools.txt)
::导出外置文件列表到%windir%\tools.txt,自己根据下面的内容进行修改即可!
echo %~dp0SETUP.CMD>>%windir%\tools.txt
echo %~dp0图文工具\Boilsoft_Screen_Recorder.WIM>>%windir%\tools.txt
echo %~dp0图文工具\Easy_GIF_Animator.WIM>>%windir%\tools.txt
echo %~dp0图文工具\Foxit_Editor.WIM>>%windir%\tools.txt
echo %~dp0图文工具\Foxit_Reader.WIM>>%windir%\tools.txt
echo %~dp0图文工具\WPS2012.WIM>>%windir%\tools.txt
echo %~dp0图文工具\搜狗手写.exe>>%windir%\tools.txt
cls
::判断空闲内存大小,若空闲内存小于500M不创建内存盘
fbinst --meminfo-f
cls
if %errorlevel% LSS 500 (goto NEXT1)
if exist Y:\ (goto NEXT1)
::统计文件类表文件大小,单位为字节
setlocal enabledelayedexpansion
for /f "tokens=1* delims= " %%a in (%windir%\tools.txt) do (
set /a sizes=!sizes!+%%~za
)
set /a sum=sizes/1048576
::echo 外置文件大小为:%sum%MB
::要创建内存盘的空间设置的比文件略大一些,这里设置差不多大了5M
set /a sum+=5
::echo 创建的内存盘大小为:%sum%MB
::ECHO 空闲内存大小为:%errorlevel%MB
Imdisk.exe -a -s %sum%M -m Y: -p "/fs:fat /y /q"
PECMD.EXE WAIT 1000
:NEXT1
::拷贝tools.txt列表文件到Y盘相同目录
if exist Y:\ (
for /f "delims=" %%i in (%windir%\tools.txt) do (xcopy "%%i" "Y:%%~pi" /s /y)
)
set tp=%~dp0
if exist "Y:\PETOOLS\SETUP.CMD" (set tp=Y:\PETOOLS)
if exist "%~dp01.ICO" (copy /y "%~dp01.ICO" "%windir%\setup.ico")
PECMD.EXE LINK %%desktop%%\加载更多外置,%windir%\system32\PECMD.EXE,EXEC "%tp%\SETUP.CMD",%windir%\setup.ico
exit
[ 本帖最后由 zhs509 于 2012-6-21 16:16 编辑 ] |
|