无忧启动论坛

标题: 调用pecmd设置 虚拟内存 [打印本页]

作者: dos时代菜鸟    时间: 2011-4-21 11:21
标题: 调用pecmd设置 虚拟内存
用E语言编辑的 调用 pecmd 设置虚拟内存 界面。
set_pagefile.rar (246.54 KB, 下载次数: 397)


cmd+ini脚本精简版本 set_pagefile.7z (917 Bytes, 下载次数: 179)


[ 本帖最后由 dos时代菜鸟 于 2011-4-25 20:40 编辑 ]
作者: 永恒心锁    时间: 2011-4-21 13:00
你也学习易语言了? 使用的正版的还是破解版本的。要是工具正式了 可以找我给你编译,我这是正式版的。加密狗
作者: meiyi    时间: 2011-4-21 15:30
现在PE里面用的那个就几十K的说
作者: yjd    时间: 2011-4-21 16:43
现在PE里面用的那个就几十K的说

易语言没招就算静态编译都会比较大。
作者: dos时代菜鸟    时间: 2011-4-21 18:26
e语言有自己的 动态连接库,如果有多个 E 程序 ,可以 将动态连接库外置,公用一个连接库,每一个E程序的体积就小很多了。

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

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

[ 本帖最后由 dos时代菜鸟 于 2011-4-21 18:42 编辑 ]
作者: 玄天    时间: 2011-4-21 22:34
一个ini就搞定的事情费那劲干嘛, 又不嫌大多加几个文件了?
作者: tubaozi    时间: 2011-4-22 08:08
支持楼主!!!
喜欢这样的小工具!
谢谢分享!!!!!
作者: dos时代菜鸟    时间: 2011-4-22 08:46
原帖由 玄天 于 2011-4-21 22:34 发表
一个ini就搞定的事情费那劲干嘛, 又不嫌大多加几个文件了?


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

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

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

[ 本帖最后由 dos时代菜鸟 于 2011-4-22 08:49 编辑 ]
作者: dos时代菜鸟    时间: 2011-4-24 19:02
这是 cmd+ini  的简装版。这个体积小。呵呵

默认 10 秒自动设置 。

[ 本帖最后由 dos时代菜鸟 于 2011-4-25 15:58 编辑 ]
作者: yjd    时间: 2011-4-25 00:44
这是 cmd+ini  的简装版。这个体积小。呵呵

默认 10 秒自动设置 。

pe
下大多数应该喜欢这种^_^
作者: HY    时间: 2011-4-25 00:45
原帖由 dos时代菜鸟 于 2011-4-24 19:02 发表
这是 cmd+ini  的简装版。这个体积小。呵呵

默认 10 秒自动设置 。

这个不错,如果能在输入大小那两个框内都搞个下拉框选择大小就更好了,不用手动输入。本人太懒了,呵呵
作者: dos时代菜鸟    时间: 2011-4-25 11:18
改进了一下  cmd+ini 教本 ,增加 命令执行成功与否判断并将内存设置变成下拉式
默认 将虚拟内存设置在 第一个硬盘分区上 1024M
通过 forx 判断pagefile.sys 是否已经建立,如果设置失败将 等待用户重新设置。

[ 本帖最后由 dos时代菜鸟 于 2011-4-25 15:58 编辑 ]
作者: 玄天    时间: 2011-4-25 11:27
标题: 回复 #12 dos时代菜鸟 的帖子
直接用wcs扩展名吧,貌似应该强烈建议老九在配置文件第一行整个啥玩意儿来定义wcs的图标才好:)
作者: dos时代菜鸟    时间: 2011-4-25 15:51
刚对 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
原帖由 dos时代菜鸟 于 2011-4-25 15:51 发表
刚对 cmd+ini 简化版做了修改,使其可以在 pe 启动的时候通过 pecmd 运行
主要就是增加了 cmd 窗口效果和 pecmd 调用的时候用 start /b /wait
另外支持一个手动参数 比如: set_pagefile 640 就表示默认创建 ...

就是因为有你这样的人,啥玩意儿都给人家现存的,培养了一大批号称高手的电脑白痴:)
作者: zxw    时间: 2011-4-25 17:24
标题: 回复 #15 玄天 的帖子
对于电脑白痴,给比不给的好。
作者: dos时代菜鸟    时间: 2011-4-25 20:36
原帖由 玄天 于 2011-4-25 17:04 发表

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


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

至于不学无术的装高手,也只能是无奈了.
作者: 玄天    时间: 2011-4-25 20:51
原帖由 dos时代菜鸟 于 2011-4-25 20:36 发表


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

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

能装就装,干嘛不装呢......
作者: 66369    时间: 2011-4-25 21:18
楼主以往对PE制作多有建树.下来学习了.谢谢.
作者: yesfei    时间: 2011-4-26 10:18
0PEXP不能设置.......
作者: dos时代菜鸟    时间: 2011-4-26 11:15
原帖由 yesfei 于 2011-4-26 10:18 发表
0PEXP不能设置.......


具体什么情况?
作者: yesfei    时间: 2011-4-26 16:21
cmd+ini脚本精简版本---0PEXP提示:虚拟内存设置无效
作者: dos时代菜鸟    时间: 2011-4-26 16:36
原帖由 yesfei 于 2011-4-26 16:21 发表
cmd+ini脚本精简版本---0PEXP提示:虚拟内存设置无效


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

其他原因 待查
作者: yesfei    时间: 2011-4-26 19:35
非cmd+ini脚本精简版本,在0PE和其他PE中运行正常。
作者: dos时代菜鸟    时间: 2011-4-26 22:00
原帖由 yesfei 于 2011-4-26 19:35 发表
非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
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') do  set 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 ECHO  LABE Label1, L8  T22 W90 H18,分区及可用空间:
>> %TEMP%\SET_PAGEFILE.INI ECHO  LABE Label2, L26 T52 W90 H18,输入大小(M):
>> %TEMP%\SET_PAGEFILE.INI ECHO  LIST  Edit1, L100T50 W80 H18,!MEM_X!,ENVI @t1=0,!MEM_Y!
>> %TEMP%\SET_PAGEFILE.INI ECHO  LABE Label2, L183T52 W80 H18,—
>> %TEMP%\SET_PAGEFILE.INI ECHO  LIST  Edit2, L200T50 W80 H18,!MEM_X!,ENVI @t1=0,!MEM_Y!
>> %TEMP%\SET_PAGEFILE.INI ECHO  ITEM Button1,L295T22 W150H48,确  定,call set_page
>> %TEMP%\SET_PAGEFILE.INI ECHO  LIST  List1, L100T20 W180H32,!DRV!,ENVI @t1=0,!LD!
>> %TEMP%\SET_PAGEFILE.INI ECHO  time t1,10000,call set_page
>> %TEMP%\SET_PAGEFILE.INI ECHO _END

>> %TEMP%\SET_PAGEFILE.INI ECHO _SUB set_page
>> %TEMP%\SET_PAGEFILE.INI ECHO  ENVI @t1=0
>> %TEMP%\SET_PAGEFILE.INI ECHO  LSTR L1=2,%%List1%%
>> %TEMP%\SET_PAGEFILE.INI ECHO  PAGE %%L1%%\PAGEFILE.SYS %%edit1%% %%edit2%%
>> %TEMP%\SET_PAGEFILE.INI ECHO  FORX %%L1%%\PAGEFILE.SYS,PF,0,TEAM EXEC =PECMD MESS PAGE %%PF%% %%edit1%% %%edit2%%\n 虚拟内存设置成功!@恭喜 #OK *5000 ^| KILL \设置虚拟内存 ^|EXIT _SUB
>> %TEMP%\SET_PAGEFILE.INI ECHO  EXEC =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 编辑 ]

捕获.JPG (29.54 KB, 下载次数: 81)

捕获.JPG

作者: yesfei    时间: 2011-4-27 08:04
经查证PE中的PECMD不是0405版。。。
作者: wyb391    时间: 2011-4-27 08:24
感觉做这个 GUI 没什么 必要。  就像玄天说的,  一个INI 就可以解决,  何必如此麻烦。   写INI还能加强学习,。昨天看到一个贴让我想骂人,是关于WIM 挂载的问题 说什么会吃一级目录不让挂载,  他们就没好好好的看命令吗,不知道在那个内核那个格式那种挂载 会锁定文件夹吗。 哎 无语 ,感叹论坛的  高手都隐居了。拿来主义太过严重,拿来主义也因该学习吧。哎
还有 菜鸟时代, 你的 DOS工具箱 越来越离谱,越来越复杂,失去最初纯在的意义, 你可以做个调查。看看对你现在DOS工具箱的反应。
作者: zhaohj    时间: 2011-4-27 08:54
能否把set temp也同时更新?
因为X盘一般很小,象VM拖放等拷贝大文件需要很大的临时空间。
作者: dos时代菜鸟    时间: 2011-4-27 16:26
原帖由 zhaohj 于 2011-4-27 08:54 发表
能否把set temp也同时更新?
因为X盘一般很小,象VM拖放等拷贝大文件需要很大的临时空间。


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



set_pt.rar (1.06 KB, 下载次数: 56)



[ 本帖最后由 dos时代菜鸟 于 2011-4-27 21:38 编辑 ]
作者: 细水哥    时间: 2019-3-14 14:25
命令行里面wmic 一个命令就搞定了,pecmd.ini里面也就是一行代码的事情,你写个程序还需要设置
作者: wang755    时间: 2019-11-4 23:20
非常好,还在呀。
作者: lyc2267359    时间: 2024-7-15 20:11
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈




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