|
今晚,无聊没事干,就下载了PECMD-V3.0.159.232.RAR回来更新一下,但使用过程中发现一个小问题
- //设置虚拟内存,步骤3。
- _SUB SetPageDrv3
- TEAM TEXT 正在设定虚拟内存(虚拟内存存放在 %TARGET_DRIVE% 盘)……|PAGE %TARGET_DRIVE%\%PF% 256 512
- //标志已经设置虚拟内存。由于直接判断%TARGET_DRIVE%\%PF%是否存在始终无法正确运行,这里只有搬用毛桃这条语句。终于明白毛桃为什么要搞这么麻烦来判断虚拟内存。
- TEAM EXEC !=CMD.EXE /C ECHO IF EXIST %TARGET_DRIVE%\%PF% PECMD LINK %Temp%\RPT_OK,%WinDir%>%TEMP%\RPT_OK.CMD|EXEC !=%TEMP%\RPT_OK.CMD
- IFEX %Temp%\RPT_OK.LNK,!TEXT 无法设置虚拟内存,目标磁盘只读或有错……
- _END
- //设置虚拟内存,步骤2。
- _SUB SetPageDrv2
- //设置前先做一些测试。测试如果失败就标志不设置虚拟内存。
- TEAM EXEC !=CMD.EXE /C ECHO 测试是否可写。>"%TARGET_DRIVE%\%PF%"|ENVI ISSETPF=Yes|ENVI ERROR=0|FILE %TARGET_DRIVE%\%PF%
- FIND $ERROR=0,!ENVI ISSETPF=No
- //如果目标盘是X:盘就标志不设置虚拟内存。以后修改PE核心时要注意此项。
- //====================================================================================================
- FIND $TARGET_DRIVE=X:,ENVI ISSETPF=No
- //====================================================================================================
- FIND $ISSETPF=Yes,CALL SetPageDrv3!TEXT 无法设置虚拟内存,目标磁盘只读或有错……
- _END
- //设置虚拟内存,步骤1。
- _SUB SetPageDrv1
- TEAM TEXT 正在设定虚拟内存……|ENVI $TARGET_ROOT=
- BROW * $请选择虚拟内存文件存放的分区。
- FIND $TARGET_ROOT=,TEXT 放弃设定虚拟内存……!CALL SetPageDrv2
- _END
- //询问是否设定虚拟内存。
- _SUB IFSetPageFile
- TEAM TEXT 是否设置虚拟内存?|ENVI YESNO=YES
- MESS 您的计算机物理内存较少,某些外置程序的运行可能需要用到\n虚拟内存。设置了虚拟内存,有助于提高系统的速度和稳定性;\n \n设置虚拟内存会重置目标磁盘根目录上的%PF%文件。\n如果您需要保护并恢复硬盘分区数据,可跳过虚拟内存的设置。\n \n您确定要设置虚拟内存吗?(建议设置,30 秒后默认选择否)@设置虚拟内存 #YN *30000 $N
- FIND $YESNO=YES,Call SetPageDrv1!TEXT 没有建立虚拟内存……
- WAIT 500
- _END
- //物理内存低于 256MB 时询问是否设定虚拟内存。
- FIND MEM<256,CALL IFSetPageFile
复制代码 上面这段是设置虚拟内存的,当我选择是之后,并没有像以前一样设置,而是显示没有建立虚拟内存。希望老九帮忙看一下。
这段是使用小小强pe中设置虚拟内存的代码,旧版pecmd可以正常使用
[ 本帖最后由 421062724 于 2008-4-20 11:43 AM 编辑 ] |
|