dos时代菜鸟 发表于 2011-4-21 11:21:56

调用pecmd设置 虚拟内存

用E语言编辑的 调用 pecmd 设置虚拟内存 界面。



cmd+ini脚本精简版本


[ 本帖最后由 dos时代菜鸟 于 2011-4-25 20:40 编辑 ]

永恒心锁 发表于 2011-4-21 13:00:05

你也学习易语言了? 使用的正版的还是破解版本的。要是工具正式了 可以找我给你编译,我这是正式版的。加密狗

meiyi 发表于 2011-4-21 15:30:44

现在PE里面用的那个就几十K的说

yjd 发表于 2011-4-21 16:43:38

现在PE里面用的那个就几十K的说
易语言没招就算静态编译都会比较大。

dos时代菜鸟 发表于 2011-4-21 18:26:36

e语言有自己的 动态连接库,如果有多个 E 程序 ,可以 将动态连接库外置,公用一个连接库,每一个E程序的体积就小很多了。

更更新了一下下,增加一个历史指令窗口,同时内附 源程序。

发现原来那个 setpagefile.exe 在 win7pe 下 有失灵的情况,而 pecmd 作虚拟内存却没有问题。所以用E语言作出了这个界面的小程序。

[ 本帖最后由 dos时代菜鸟 于 2011-4-21 18:42 编辑 ]

玄天 发表于 2011-4-21 22:34:13

一个ini就搞定的事情费那劲干嘛, 又不嫌大多加几个文件了?

tubaozi 发表于 2011-4-22 08:08:15

支持楼主!!!
喜欢这样的小工具!
谢谢分享!!!!!

dos时代菜鸟 发表于 2011-4-22 08:46:24

原帖由 玄天 于 2011-4-21 22:34 发表 http://bbs.wuyou.net/images/common/back.gif
一个ini就搞定的事情费那劲干嘛, 又不嫌大多加几个文件了?

至于体积 对于win7pe 来说也就不算什么了。而对于 pe2.0 原有的那个setpagefile.exe 仍然可用也就不用这个了。

原来 也 编辑过pecmd 支持的ini ,专门 用来 PAGE 。我一贯 原则就是 能用脚本解决的决 不用 程序 。

可 这个界面 的功能,ini 编辑起来 还是有些麻烦,也正在研究 用 ini 解决 这个界面的功能,不太容易。 主要是 驱动器列表框 和 文本框。

[ 本帖最后由 dos时代菜鸟 于 2011-4-22 08:49 编辑 ]

dos时代菜鸟 发表于 2011-4-24 19:02:43

这是 cmd+ini的简装版。这个体积小。呵呵

默认 10 秒自动设置 。

[ 本帖最后由 dos时代菜鸟 于 2011-4-25 15:58 编辑 ]

yjd 发表于 2011-4-25 00:44:35

这是 cmd+ini的简装版。这个体积小。呵呵

默认 10 秒自动设置 。
pe
下大多数应该喜欢这种^_^

HY 发表于 2011-4-25 00:45:20

原帖由 dos时代菜鸟 于 2011-4-24 19:02 发表 http://bbs.wuyou.net/images/common/back.gif
这是 cmd+ini的简装版。这个体积小。呵呵

默认 10 秒自动设置 。
这个不错,如果能在输入大小那两个框内都搞个下拉框选择大小就更好了,不用手动输入。本人太懒了,呵呵

dos时代菜鸟 发表于 2011-4-25 11:18:29

改进了一下cmd+ini 教本 ,增加 命令执行成功与否判断并将内存设置变成下拉式
默认 将虚拟内存设置在 第一个硬盘分区上 1024M
通过 forx 判断pagefile.sys 是否已经建立,如果设置失败将 等待用户重新设置。

[ 本帖最后由 dos时代菜鸟 于 2011-4-25 15:58 编辑 ]

玄天 发表于 2011-4-25 11:27:43

回复 #12 dos时代菜鸟 的帖子

直接用wcs扩展名吧,貌似应该强烈建议老九在配置文件第一行整个啥玩意儿来定义wcs的图标才好:)

dos时代菜鸟 发表于 2011-4-25 15:51:23

刚对 cmd+ini 简化版做了修改,使其可以在 pe 启动的时候通过 pecmd 运行
主要就是增加了 cmd 窗口效果和 pecmd 调用的时候用 start /b /wait
另外支持一个手动参数 比如: set_pagefile 640 就表示默认创建640M大小的虚拟内存。

启动的时候可以向 pecmd.ini 中写入如下代码调用:
IFEX MEM<1024,EXEC =_%Programfiles%\set_pagefile.cmd
即,如果内存余额小于 1024M 就以最小化方式运行 set_pagefile.cmd 批处理。
这样 坛子里那个350M 的 win7RE 也可以在 512M内存电脑运行了。

set_pagefile.7z (917 Bytes)

[ 本帖最后由 dos时代菜鸟 于 2011-4-25 15:55 编辑 ]

玄天 发表于 2011-4-25 17:04:21

原帖由 dos时代菜鸟 于 2011-4-25 15:51 发表 http://bbs.wuyou.net/images/common/back.gif
刚对 cmd+ini 简化版做了修改,使其可以在 pe 启动的时候通过 pecmd 运行
主要就是增加了 cmd 窗口效果和 pecmd 调用的时候用 start /b /wait
另外支持一个手动参数 比如: set_pagefile 640 就表示默认创建 ...
就是因为有你这样的人,啥玩意儿都给人家现存的,培养了一大批号称高手的电脑白痴:)

zxw 发表于 2011-4-25 17:24:36

回复 #15 玄天 的帖子

对于电脑白痴,给比不给的好。

dos时代菜鸟 发表于 2011-4-25 20:36:48

原帖由 玄天 于 2011-4-25 17:04 发表 http://bbs.wuyou.net/images/common/back.gif

就是因为有你这样的人,啥玩意儿都给人家现存的,培养了一大批号称高手的电脑白痴:)

如果 是有心的 电脑白痴,给他这东西,可以帮助他更好的研究最终脱离白痴队伍.
对于没心没肺的电脑白痴,给他这个东西,总比没有强一些.

至于不学无术的装高手,也只能是无奈了.

玄天 发表于 2011-4-25 20:51:04

原帖由 dos时代菜鸟 于 2011-4-25 20:36 发表 http://bbs.wuyou.net/images/common/back.gif


如果 是有心的 电脑白痴,给他这东西,可以帮助他更好的研究最终脱离白痴队伍.
对于没心没肺的电脑白痴,给他这个东西,总比没有强一些.

至于不学无术的装高手,也只能是无奈了.
能装就装,干嘛不装呢......

66369 发表于 2011-4-25 21:18:04

楼主以往对PE制作多有建树.下来学习了.谢谢.

yesfei 发表于 2011-4-26 10:18:37

0PEXP不能设置.......

dos时代菜鸟 发表于 2011-4-26 11:15:53

原帖由 yesfei 于 2011-4-26 10:18 发表 http://bbs.wuyou.net/images/common/back.gif
0PEXP不能设置.......

具体什么情况?

yesfei 发表于 2011-4-26 16:21:03

cmd+ini脚本精简版本---0PEXP提示:虚拟内存设置无效

dos时代菜鸟 发表于 2011-4-26 16:36:36

原帖由 yesfei 于 2011-4-26 16:21 发表 http://bbs.wuyou.net/images/common/back.gif
cmd+ini脚本精简版本---0PEXP提示:虚拟内存设置无效

可能原因:硬盘没有可用作虚拟内存的分区或足够空间
对于前者,可以在dos下分区格式化然后再进入pe.
对于后者:选择其他硬盘分区或减少虚拟内存大小进行测试

其他原因 待查

yesfei 发表于 2011-4-26 19:35:38

非cmd+ini脚本精简版本,在0PE和其他PE中运行正常。

dos时代菜鸟 发表于 2011-4-26 22:00:51

原帖由 yesfei 于 2011-4-26 19:35 发表 http://bbs.wuyou.net/images/common/back.gif
非cmd+ini脚本精简版本,在0PE和其他PE中运行正常。

请确定 pecmd 的版本最新,因为用 pecmd 的 forx 指令判断 pagefile.sys 是否生成。如果 pecmd 的 forx 不能判断 pagefile.sys 已经生成,自然会提示 设置失败。

而 e语言版本,是通过e语言自带的函数判断 pagefile.sys 是否生成了。

[ 本帖最后由 dos时代菜鸟 于 2011-4-26 22:06 编辑 ]

dos时代菜鸟 发表于 2011-4-26 22:02:12

cmd+ini 版本
代码: 更新增加一个 分区可用空间的信息,用到 diskpart ,注意红色部分代码是更新的部分。
硬盘分区探测阶段会占用一段时间.另外 pecmd 用到 lstr 需要 pecmd 20110405版本。
diskpart 要 win7 的。

@ECHO OFF &setlocal ENABLEDELAYEDEXPANSION
rem 调用 pecmd 设置PE系统虚拟内存 @dos时代菜鸟 2011.04.26
TITLE 设置虚拟内存
mode con: cols=40 lines=2
color f0
echo 请不要关闭本窗口,正在探测分区.....
SET MEM_Y=%1
IF %MEM_Y%*==* SET MEM_Y=1024
SET MEM_X=128^|256^|512^|1024^|2048^|3072^|4096^|!MEM_Y!
FOR %%C IN (W V U T S R Q P O N M L K J I H G F E D C) DO (
IF EXIST %%C:\ (
echo.>%temp%\p.p
>>%temp%\p.p echo select volume %%C
>>%temp%\p.p echo detail volume
for /f "delims=: tokens=1,2*" %%i in ('diskpart /s %temp%\p.p') doset xyz=%%j
set DRV=%%C:!xyz!^|!DRV!
SET LD=%%C:
pecmd FILE %%C:\PAGEFILE.SYS
)
)
if exist %temp%\p.p del %temp%\p.p /q

echo 请不要关闭本窗口,请设置虚拟内存.....

>%TEMP%\SET_PAGEFILE.INI ECHO _SUB Windows1,W460H120,设置虚拟内存
>> %TEMP%\SET_PAGEFILE.INI ECHOLABE Label1, L8T22 W90 H18,分区及可用空间:
>> %TEMP%\SET_PAGEFILE.INI ECHOLABE Label2, L26 T52 W90 H18,输入大小(M):
>> %TEMP%\SET_PAGEFILE.INI ECHOLISTEdit1, L100T50 W80 H18,!MEM_X!,ENVI @t1=0,!MEM_Y!
>> %TEMP%\SET_PAGEFILE.INI ECHOLABE Label2, L183T52 W80 H18,—
>> %TEMP%\SET_PAGEFILE.INI ECHOLISTEdit2, L200T50 W80 H18,!MEM_X!,ENVI @t1=0,!MEM_Y!
>> %TEMP%\SET_PAGEFILE.INI ECHOITEM Button1,L295T22 W150H48,确定,call set_page
>> %TEMP%\SET_PAGEFILE.INI ECHOLISTList1, L100T20 W180H32,!DRV!,ENVI @t1=0,!LD!
>> %TEMP%\SET_PAGEFILE.INI ECHOtime t1,10000,call set_page
>> %TEMP%\SET_PAGEFILE.INI ECHO _END

>> %TEMP%\SET_PAGEFILE.INI ECHO _SUB set_page
>> %TEMP%\SET_PAGEFILE.INI ECHOENVI @t1=0
>> %TEMP%\SET_PAGEFILE.INI ECHOLSTR L1=2,%%List1%%
>> %TEMP%\SET_PAGEFILE.INI ECHOPAGE %%L1%%\PAGEFILE.SYS %%edit1%% %%edit2%%
>> %TEMP%\SET_PAGEFILE.INI ECHOFORX %%L1%%\PAGEFILE.SYS,PF,0,TEAM EXEC =PECMD MESS PAGE %%PF%% %%edit1%% %%edit2%%\n 虚拟内存设置成功!@恭喜 #OK *5000 ^| KILL \设置虚拟内存 ^|EXIT _SUB
>> %TEMP%\SET_PAGEFILE.INI ECHOEXEC =PECMD MESS PAGE %%L1%%\PAGEFILE.SYS %%edit1%% %%edit2%%\n 虚拟内存设置无效!@通知 #OK
>> %TEMP%\SET_PAGEFILE.INI ECHO _END

>> %TEMP%\SET_PAGEFILE.INI ECHO CALL @Windows1


START /B /WAIT PECMD LOAD %TEMP%\SET_PAGEFILE.INI
echo 脚本运行完毕!
for %%c in (drv mem_x MEM_Y ld xyz) do set %%c=
EXIT

[ 本帖最后由 dos时代菜鸟 于 2011-4-27 08:04 编辑 ]

yesfei 发表于 2011-4-27 08:04:54

经查证PE中的PECMD不是0405版。。。

wyb391 发表于 2011-4-27 08:24:45

感觉做这个 GUI 没什么 必要。就像玄天说的,一个INI 就可以解决,何必如此麻烦。   写INI还能加强学习,。昨天看到一个贴让我想骂人,是关于WIM 挂载的问题 说什么会吃一级目录不让挂载,他们就没好好好的看命令吗,不知道在那个内核那个格式那种挂载 会锁定文件夹吗。 哎 无语 ,感叹论坛的高手都隐居了。拿来主义太过严重,拿来主义也因该学习吧。哎
还有 菜鸟时代, 你的 DOS工具箱 越来越离谱,越来越复杂,失去最初纯在的意义, 你可以做个调查。看看对你现在DOS工具箱的反应。

zhaohj 发表于 2011-4-27 08:54:20

能否把set temp也同时更新?
因为X盘一般很小,象VM拖放等拷贝大文件需要很大的临时空间。

dos时代菜鸟 发表于 2011-4-27 16:26:34

原帖由 zhaohj 于 2011-4-27 08:54 发表 http://bbs.wuyou.net/images/common/back.gif
能否把set temp也同时更新?
因为X盘一般很小,象VM拖放等拷贝大文件需要很大的临时空间。

一个cmd 解决 设置虚拟内存和temp,用到 setx.
另外 还要请教 zhaohjpe3 怎么设置x: 大小阿。通过注册表还是inf?






[ 本帖最后由 dos时代菜鸟 于 2011-4-27 21:38 编辑 ]
页: [1] 2
查看完整版本: 调用pecmd设置 虚拟内存