无忧启动论坛

标题: 通过 PECMD 实现设置虚拟内存交互过程成功,不需要第三方软件了:) [打印本页]

作者: tuxw    时间: 2007-3-21 15:20
标题: 通过 PECMD 实现设置虚拟内存交互过程成功,不需要第三方软件了:)
配置如下:

////////////////////////////////////////////////////////////////
_SUB SelPageFile
    TEAM TEXT 正在设定虚拟内存......

    TEAM ENVI TARGET_DRIVE=D:|ENVI $PF_NAME=PE_PAGE.SYS|ENVI $PAGE_FILE_OK=
    ENVI SEARCH_DRIVE=C D E F G H I J K L M N O P Q R S T A

    // 清理上次设定虚拟内存留下的页面文件
    ENVI TMP_CMD1=FOR %%I IN (%SEARCH_DRIVE%) DO IF EXIST %%I:\%PF_NAME% PECMD FILE %%I:\%PF_NAME%
    ENVI TMP_CMD2=%TEMP%\RPT_CLN.CMD
    TEAM EXEC !=CMD.EXE /C ECHO %TMP_CMD1% > %TMP_CMD2%|EXEC !=%TMP_CMD2%

    ENVI TMP_T1=选择放置虚拟内存页面文件的磁盘分区
    ENVI TMP_T2=:             (选择[取消]将优先在 D: 放置)
    BROW %TARGET_DRIVE%  $%TMP_T1%%TMP_T2%
    TEAM PAGE %TARGET_DRIVE%\%PF_NAME% 192 256

    //检查虚拟内存页面文件是否建立成功,成功则设置系统环境变量 PAGE_FILE_OK=YES
    //用于加载外置程序时的条件判断
    ENVI TMP_C1=FOR %%I IN (%SEARCH_DRIVE%) DO IF EXIST %%I:\%PF_NAME% PECMD LINK %Temp%\RPT_OK,%SystemRoot%
    ENVI TMP_C2=%TEMP%\RPT_FND.CMD
    TEAM EXEC !=CMD.EXE /C ECHO %TMP_C1% > %TMP_C2%|EXEC !=%TMP_C2%
    IFEX %Temp%\RPT_OK.LNK,ENVI $PAGE_FILE_OK=YES

    ENVI TMP_T1=虚拟内存页面文件设置
    IFEX $PAGE_FILE_OK=YES,TEXT %TMP_T1%成功!!TEXT %TMP_T1%失败!

    TEAM FILE %Temp%\RPT_*.*|ENVI TARGET_DRIVE=|ENVI SEARCH_DRIVE=|TMP_T1=|TMP_T2=|TMP_C1=|TMP_C2=
_END
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
_SUB IFSetPageFile
    TEAM ENVI YESNO=NO|ENVI WAIT_TIME=30

    ENVI TIP1=您的计算机物理内存较低,某些外置程序的运行可能需要用
    ENVI TIP2=到虚拟内存。虚拟内存有助于提高系统的速度和稳定性;
    ENVI TIP3=如果您需要保护并恢复硬盘分区数据,可以不设定虚拟内存。
    ENVI TIP4=您要设置虚拟内存吗? 请选择[是]或[否]......
    ENVI TIP5=如 %WAIT_TIME% 秒内未选择,将默认为不设定虚拟内存。

    FIND MEM<256,MESS %TIP1%\n%TIP2%\n%TIP3%\n \n%TIP4%\n \n%TIP5%@虚拟内存#YN *%WAIT_TIME%000
    IFEX $YESNO=YES, CALL SelPageFile!TEXT 已选择不设定虚拟内存!

    TEAM ENVI YESNO=|ENVI WAIT_TIME=|ENVI TIP1=|ENVI TIP2=|ENVI TIP3=|ENVI TIP4=|ENVI TIP5
_END
////////////////////////////////////////////////////////////////

CALL IFSetPageFile


提示语句照搬老毛桃的,30 秒等待自动选择不设置虚拟内存是为了实现无人值守登录
防止开机后去WC,回来后发现停在那里了:L
之所以是 30 秒而不是 5/10 秒,一个原因是我在虚拟机中测试 MESS 消息框出来有时比较慢,二是虚拟机要先捕获鼠标,有时在其它窗口就忘了这点,三是留长一点时间截屏,时间太短可能来不及选择就自动否了,增加了个临时环境变量 WAIT_TIME 方便更改等时间







[ 本帖最后由 tuxw 于 2007-3-22 03:37 PM 编辑 ]
作者: snaketsg    时间: 2007-3-21 15:58
LZ,你是怎么按装驱动的,我的换了新版后再也没成功过
作者: haiwy    时间: 2007-3-21 16:08
真是不错....收下了!
作者: lxl1638    时间: 2007-3-21 17:41
目前PECMD除了不能设置LOGON密码外,其它的都可以说无所不能了。
也可以根据你的按键来设置虚拟内存的,比如按键盘D,就把页文件设置到(D:)、按键盘E,就把页文件设置到(E:)......等都可以实现,这些就看你对PECMD命令的了解和使用了。

PECMD最后一次更新(近期计划,7月份以后的事)将会有Logon密码校验、更方便的多SHELL选择、计算文件、字符串的MD5码功能。

如有可能,也可以作为PE2.0的Logon程式(远程打算)。
作者: adatsui    时间: 2007-3-21 20:37
////////////////////////////////////////////////////////////////
_SUB SelPageFile
    TEAM TEXT 正在设定虚拟内存......
    TEAM ENVI TARGET_DRIVE=D:|ENVI $PF_NAME=PE_PAGE.SYS|ENVI $PAGE_FILE_OK=
    ENVI SEARCH_DRIVE=C D E F G H I J K L M N O P Q R S T A
    // 清理上次设定虚拟内存留下的页面文件
    ENVI TMP_CMD0=ECHO FOR %%I IN (%SEARCH_DRIVE%) DO IF EXIST %%I:\%PF_NAME% PECMD FILE %%I:\%PF_NAME%
    ENVI TMP_CMD1=%TEMP%\RPT_CLN.CMD
    TEAM EXEC !=CMD.EXE /C %TMP_CMD0% > %TMP_CMD1%|EXEC !=%TMP_CMD1%
    ENVI TMP_T1=选择放置虚拟内存页面文件的磁盘分区
    ENV  TMP_T2=:             (选择[取消]将优先在 D: 放置)

^^^^ 這個是不是 ENVI ??



很有用呀, 我的是用autoit 來做! 早點有 PECMD 及你的 script 便好了.
作者: tuxw    时间: 2007-3-21 21:36
原帖由 snaketsg 于 2007-3-21 03:58 PM 发表
LZ,你是怎么按装驱动的,我的换了新版后再也没成功过


显示的是安装驱动,实际上就是老毛桃的外置组件

原帖由 adatsui 于 2007-3-21 08:37 PM 发表
...
^^^^ 這個是不是 ENVI ??
...


是的,粘过来修改时弄丢了个字母
作者: 钱品    时间: 2007-3-21 22:13
:) 学习中,这个确实偶还没有搞定,费了不少时日。。。
作者: secowu    时间: 2007-3-22 15:10
看来2.0又是下一个热门了。。。。
  老九快放出来YY了吧
作者: waiting    时间: 2007-3-30 19:57
能否添加这样功能:
设置交换文件前先检测,如果PE是在硬盘运行则自动在“PE所在分区”创建,否则(比如是在光盘运行PE )继续。
作者: philgrim    时间: 2007-3-30 22:35
pecmd真的强悍
作者: lxl1638    时间: 2007-3-30 23:39
原帖由 waiting 于 2007-3-30 07:57 PM 发表
能否添加这样功能:
设置交换文件前先检测,如果PE是在硬盘运行则自动在“PE所在分区”创建,否则(比如是在光盘运行PE )继续。


PAGE命令本身有判断分区是否是硬盘的功能,如:
PAGE E:\Page.SYS 256

E:不是硬盘,它会依次找 F:-->G:-->H: ... ==> C:-->D:,直至遇到符合条件(硬盘和容量)的分区才设置虚拟内存。
若找不到就放弃设置虚拟内存。




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