无忧启动论坛

标题: [已解决]PECMD-V3.0.159.232使用过程中的一个小问题 [打印本页]

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

[ 本帖最后由 421062724 于 2008-4-20 11:43 AM 编辑 ]
作者: spycolin    时间: 2008-4-19 23:12
//设置虚拟内存
_SUB SetPageFile
   ENVI V1=你的计算机物理内存较低,某些外置程序的运行可能需要用到
   ENVI V2=虚拟内存。设置了虚拟内存可以提高系统的速度和稳定性;
   ENVI V3=如果你需要保护并恢复硬盘分区数据可跳过虚拟内存的设置。
   ENVI V4=你确定要设置虚拟内存吗?(建议设置)
   ENVI V5=设置虚拟内存
   MESS %V1%\n%V2%\n%V3%\n%V4%@%V5%#YN*20000
   FIND $%YESNO%=YES,PAGE D:\PEpagefile.sys 256 512
   TEAM ENVI V1=|V2=|V3=|V4=|V5=
_END

//物理内存低于 256MB 时询问是否设定虚拟内存。
FIND MEM<257,CALL SetPageFile
作者: spycolin    时间: 2008-4-19 23:14
换成上面的这段就行了,看看。
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │格式│PAGE <页面文件路径> <初始大小> [最大值]                                                     ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │功能│设置页面文件(虚拟内存)。                                                                    ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │参数│■指定页面文件的路径,只能用 DOS 8.3 格式的路径,如"C:\PageFile.sys"。                      ┃
┃    │    │■初始大小和最大值的单位是 MB;当省略最大值时,自动设置 最大值=初始大小。                   ┃
┃    ├──┼──────────────────────────────────────────────┨
┃PAGE│示例│PAGE C:\PAGEFILE.SYS 128 256                                                                ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │备注│※如果设置了页面文件,则该分区将无法执行格式化等操作。                                      ┃
┃    │    │※当 可用内存>初始大小 时,本命令将不设置页文件,即可以定义初始大小来作为设置页文件的条件。 ┃
┃    │    │※该命令有智能化功能,即从你定义的页面文件名(含盘符)所在的分区起开始搜索符合条件(硬盘和容量)┃
┃    │    │  分区来设置页文件,避开速度慢的U盘和移动硬盘。以U盘或移动硬盘启动时,可能配置文件定义的页文┃
┃    │    │  件就在U盘或移动硬盘。经一轮搜索若没有找到符合条件的硬盘分区设置页文件才利用U盘或移动硬盘来┃
┃    │    │  设置页文件。
                                                                              ┃
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫


注意说明, PAGE命令有智能了。你的机器内存大于256,所以不建立。
作者: spycolin    时间: 2008-4-19 23:17
$TARGET_ROOT 和  TARGET_DRIVE 在新版中也不属于内置变量了,需要ENVI一下
作者: 421062724    时间: 2008-4-20 09:53
智不智能话是一个问题,我说的是find那里的问题,按道理来说的话,我按了yes后,就会开始设置虚拟内存,但现在我按了yes后确不像以前一样进入设置虚拟内存那里,而是直接显示后面的没有设置虚拟内存。
作者: lxl1638    时间: 2008-4-20 11:38
原帖由 421062724 于 2008-4-20 09:53 AM 发表
智不智能话是一个问题,我说的是find那里的问题,按道理来说的话,我按了yes后,就会开始设置虚拟内存,但现在我按了yes后确不像以前一样进入设置虚拟内存那里,而是直接显示后面的没有设置虚拟内存。


FIND、IFEX命令分别用于比较环境变量和数值变量时,一律用前导"$"+带"%"的变量表示,如:
比较字符变量:FIND $%List2%=%W800H600B32F75%,DISP W800H600B32F75
比较数值变量:IFEX $%ErrorCount%<5,ENVI @Label1=%ErrorCount%!CALL ShutSystem
作者: 421062724    时间: 2008-4-20 11:41
谢谢老九百忙之中来帮忙看看,刚刚自己解决了问题。不过花了点时间>_<
作者: 421062724    时间: 2008-4-20 11:49
我已经改好了,谢楼上的行了不
作者: ccerb    时间: 2008-4-26 23:49
原帖由 421062724 于 2008-4-20 11:49 AM 发表
我已经改好了,谢楼上的行了不

改了哪几个地方啊,我这菜的人还没明白怎么改。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3