无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 1085264|回复: 4066
打印 上一主题 下一主题

[PECMD X86 & X64 V4.0.2011.0501版] WinPE命令解释程序 & WinPE登录命令。

    [复制链接]
1#
发表于 2007-1-24 10:12:43 | 显示全部楼层
我对编程没什么建树,纯粹进来看看怎么用。最近也比较忙,没时间折腾。此帖加精便于日后学习!
回复

使用道具 举报

2#
发表于 2007-1-26 08:49:46 | 显示全部楼层
原帖由 lxl1638 于 2007-1-25 23:34 发表
更新了,支持外挂字体!切底解决了精简版WinPE的字体问题!

老九果然够强

昨天刚刚将 Yonsm 大师的 XCMD 2.2 版本 Down 下来试用,配置文件跟着作了一定更改,今天一上来就发现老九又有动作了。

FONT、FBWF、WALL、USER、RUNS、NUMK 这几个新增加的命令也比较实用,省却了在配置中使用 REGI 命令配置 FBWF、背景图片 等参数的值。
原帖由 Climbing 于 2007-1-26 08:22 发表
我提些建议:

关于page命令:一般来说,我们启动PE都是用来进行系统维护的,而原机器上一般都装有xp等系统,而原来的系统一般都会有pagefile.sys,我们应该尽可能的避免pe启动时往硬盘上写入新增的文件(因为如 ...

石头的建议有些道理,有时候的确是不能够随便向硬盘中写入任何数据的。但是换句话说,系统中原有的 Pagefile.sys 有时也是不可以随便去覆盖它啊。对于一般用户,默认的情况下 Pagefile.sys 都是在 C 盘,而如果我们此时恰恰需要通过 WinPE 来对原来的系统分区大小进行调整、格式化等操作呢?Pagefile.sys 此时在 C 盘肯定不合适。

现在猜想,可否通过在 XCMD 接管控制权的期间,在虚拟内存设置之前(事实上,如果启用了 FBWF 的话,再没有加载很多的外置程序前,内存没那么快就不够用的,除非机器内存的确相当可怜),通过接受用户的某个热键来决定是否忽略虚拟内存的设置。当然这样可能会造成一些程序因为虚拟内存没有了而无法正常运行,但是可以将外置程序中的 FinalData 放到 FBWF 分区中运行,从而安全恢复数据。
回复

使用道具 举报

3#
发表于 2007-1-26 16:26:25 | 显示全部楼层
原帖由 Climbing 于 2007-1-26 12:09 发表
Re 毛桃:

如果仅仅想改变分区的大小,一个分区魔术师就足够用了,再说了我们还有Disk Director suite 或者Acronis Partiiton Expert,干嘛非得要用WinPM呢?有启动PE的时候,分区已经做好了。对我来说,系统分 ...

呵呵,你误会啦,我的意思是可以考虑在启动阶段让用户通过某热键决定是否在硬盘上设置虚拟内存,而且就是要设定的话,也多数不设定在 C 盘,原因比较简单了,如果此时需要格式化、调整 C 盘容量大小,如果有 Pagefile 就很难了啊。如果说此时还考虑实用 DOS 下的分区工具,是不是跟大家把玩 WinPE 的目标相悖了呢?
回复

使用道具 举报

4#
发表于 2007-1-27 16:31:38 | 显示全部楼层
原帖由 emca 于 2007-1-26 22:25 发表
发现XLOG有个问题,就是内部配置中引用的XLOG命令能够成功导出日志,而在外部配置中引用的XLOG命令则只能导出一个0字节的文件,不管我怎么修改顺序等都这样。

我也遇到过,不过我并不在意这个功能
回复

使用道具 举报

5#
发表于 2007-2-9 10:26:53 | 显示全部楼层
一个建议,可否在 XCMD 中做一个 GOTO 命令,因为有时候希望在配置文件中配置一组命令,而这些命令并不能简单的合并到一个命令组中,只能逐行书写,如果在这么一组命令前做一个类似批处理中的 GOTO 的标记,会大大简化 IFEX 的使用。
回复

使用道具 举报

6#
发表于 2007-2-9 14:27:00 | 显示全部楼层
原帖由 lxl1638 于 2007-2-9 11:35 发表
本人给你的答复都试过了,再出现日志乱码,就帖你的INI文件上来给我看看。

XCMD 和 PECMD 的命令能否执行成功很大程度上与两方面因素有关:
1、IMG的可用空间,加载XCMD或PECMD后,在向IMG内写文件(如创建目录 ...

老九说得没错,第一步开启 FBWF,紧接着再删除文件,比如 NTOSKRNL.EXE、Txtsetup.sif、SetupReg.HIV、Software、Default、KDCOM.DLL、BOOTVID.DLL、HAL*.DLL、VGA*.* 这些文件,在 XCMD 接管以后都是可以直接删除的,腾出来的空间,少说也有 4~5MB 的空间啦
回复

使用道具 举报

7#
发表于 2007-2-9 14:28:39 | 显示全部楼层
原帖由 l1982012800 于 2007-2-9 11:47 发表
SHEL explorer 之后无法如何KILL两个进程,系统黑屏
用EXEC $explorer可以KILL
请问老九如何解决



跟以前一样,在高速机器上,需要等待系统初始化完毕方可 Kill 那两个进程的,那就在 Kill 前面设置 Wait 个 7 秒 8 秒的吧。
回复

使用道具 举报

8#
发表于 2007-2-13 14:49:49 | 显示全部楼层
原帖由 lxl1638 于 2007-2-13 14:13 发表
又更新了,增加了 GOTO 命令。

嘿嘿,老九,真行!
回复

使用道具 举报

9#
发表于 2007-2-13 15:09:28 | 显示全部楼层
原帖由 lxl1638 于 2007-2-13 14:53 发表


麻烦你试验一下,看看有什么问题没。

我这边测试没有问题。

另:To 楼上,Call 命令已有它用了。

PECMD_Test.rar

42.96 KB, 下载次数: 53, 下载积分: 无忧币 -2

回复

使用道具 举报

10#
发表于 2007-2-13 16:46:01 | 显示全部楼层
原帖由 lxl1638 于 2007-2-13 16:38 发表


GOTO命令是对子过程的调用,GOTO命令实在有点不好,但CALL命令已另有用途。

1、要么将 CALL 命令改为 FUNC 命令,再将 GOTO 命令改为 CALL ;
2、要么直接将 GOTO 命令改为 FUNC 命令,但 这个 FUNC 不可 ...

那就叫 JUMP 吧。
回复

使用道具 举报

11#
发表于 2007-2-13 16:53:03 | 显示全部楼层
原帖由 lxl1638 于 2007-2-13 16:51 发表


JUMP 和 GOTO 意思一样,都属无返回值的跳跃转移。

呵呵,老九不愧是在研究程序,这么严谨!大家知道该如何用就可以啦,没必要对这个名称过于计较哈,实在不行,就叫做 LAO9 ,哈哈!
回复

使用道具 举报

12#
发表于 2007-2-15 16:09:05 | 显示全部楼层
原帖由 songq 于 2007-2-15 16:02 发表
有没有试用的?,我怎么进不了桌面啊,前面的goto没问题,
我只是换了pecmd和pelogon,pecmd.ini里的goto改成call,怎么不行?
我的pecmd.ini,只是把其中的goto换成call就不行了.

//删除不需要的启动文件
EXEC =!C ...

你怎么先删除文件再启动 FBWF 啊?删除会成功吗?嘿嘿!
回复

使用道具 举报

13#
发表于 2007-2-15 16:44:53 | 显示全部楼层
原帖由 songq 于 2007-2-15 16:19 发表


我是先删除,腾出5M左右的空间,然后将红叶盘需要的一些系统文件再copy进去,这时img容量刚好满了,再启用fbwf,等于省了5M内存啊,^_^

哦,Sorry,没看清,原来你是使用的 .IMG 格式
回复

使用道具 举报

14#
发表于 2007-2-16 10:15:46 | 显示全部楼层
原帖由 lxl1638 于 2007-2-15 23:38 发表
你先试启动一个最小化的PE,配置文件的命令应是如下:

LOGO ,0
TEXT 初始化系统……#0xFFFF,20,720,799,758 $20
FILE %SystemRoot%\SYSTEM32\NTOSKRNL.EXE
FILE %SystemRoot%\TXTSETUP.SIF
FILE %SystemRoot%\SYSTEM32\SetupReg.HIV
FILE %SystemRoot%\SYSTEM32\HAL*.DLL
FILE %SystemRoot%\SYSTEM32\BOOTVID.DLL
FILE %SystemRoot%\SYSTEM32\KDCOM.DLL

嘿嘿,这个命令也要加上,整个 Config 文件夹一块删除,又省出 2MB 空间!

  1. FILE %SystemRoot%\System32\CONFIG
复制代码
回复

使用道具 举报

15#
发表于 2007-2-16 13:28:49 | 显示全部楼层
原帖由 songq 于 2007-2-16 12:27 发表


删再多的文件,如果在fbwf启用前不利用的话,没用吧
一旦启用fbwf,以后的读写都是fbwf的缓存,跟img内的容量无关.iso的话那些删除都是多余的.

抱歉,不是很明白你的意思
回复

使用道具 举报

16#
发表于 2007-2-16 13:52:32 | 显示全部楼层
原帖由 l1982012800 于 2007-2-16 13:40 发表
意思是用了FBWF之后,删除没意义,所以启动FBWF服务越提前越好,最好把FBWF放在第一行(FBWF P20 H32)

那也至少是给一些外置程序留有一定的缓存空间啊,虽然都是在 X 盘
回复

使用道具 举报

17#
发表于 2007-2-23 20:46:32 | 显示全部楼层
原帖由 lxl1638 于 2007-2-23 20:00 发表
系统属性 里是有这个环境变量了的,你认真看一下,只是在CMD窗口中的SET命令没有。

ENVI $

必须在启动项,任何写入注册表的环境变量都必须刷新才生效。
你可以按图试试,在注册表建立一个新的环境变量,关 ...

的确是这样,可是点击下图中红线框框里面的那个“确定”的话,注册的环境变量则会立即生效,是不是使用了 Rundll32.dll 的某个函数?而且发觉老九以前的 SETNTENVAR.EXE 可以做到注册环境变量立即生效。
回复

使用道具 举报

18#
发表于 2007-3-1 21:31:17 | 显示全部楼层
原帖由 lxl1638 于 2007-3-1 19:03 发表
根据沙子和老猫的反映,RAMD命令工作不正常,现更新一下,见一楼。
以后不想更新了,实在是累,够用就算了。

嘿嘿,的确是,够用就行。

我到现在仍然是实用的 XCMD V2.2.678 Build 2284 Modified by lxl1638
回复

使用道具 举报

19#
发表于 2007-3-1 22:31:43 | 显示全部楼层
原帖由 123 于 2007-3-1 22:19 发表
搞到那么复杂别人很难用,那些符号看了头大,估计很少有人会自己写winpe.ini,就是写了也只是用几个基本的命令,建议做个编辑器,毕竟很少有人喜欢用记事本编程。

的确是越来越复杂了些。

现在的 PECMD 似乎要稍懂些编程知识的人才能轻松驾驭,这也是我仍然在使用 XCMD.EXE V2.2 的原因,因为我不希望用户拿去自己定置 PE 的启动时一筹莫展。。。
回复

使用道具 举报

20#
发表于 2007-3-2 22:02:06 | 显示全部楼层
原帖由 lxl1638 于 2007-3-2 12:01 发表



试了一下,这个热键注册不成功,原因是与系统冲突。
有些热键是注册不了的,如 Alt + F4 、Ctrl + Alt + Del 、及与 Esc 有关的热键。
热键的注册结果在 HOTK 的帮助中有说明。

不过我今天测试,发现如果不使用 PELOGON 的话,PECMD 本身似乎不能接管热键。注册的 F1,按下去什么反应也没有。如果最终使用 PELOGON 驻留的话,则是可以的。

另外发现一个问题,IFEX C:\Pagefile.sys 这样的结果总是 False,即便存在 Pagefile.sys 这个文件。而在以前老九修改的 XCMD v2.2 版本中则没有问题,后来反复测试发现,应该是由于 Pagefile.sys 被系统占用并保护引起的,而在批处理中 IF Exist ... 则没有问题。
回复

使用道具 举报

21#
发表于 2007-3-2 22:14:12 | 显示全部楼层
原帖由 lxl1638 于 2007-3-2 22:08 发表


PECMD的MAIN(以前的INIT)进程才注册热键,但PECMD的MAIN(以前的INIT)进程占内存很大,所以把它单独做成PELOGON,这个PELOGON接收到HIDE命令后还可以删掉的(一个驻留内存而又可以删掉的程序!)

呵呵,这个,我试过了,的确是可以删掉的。

不过我发现 PELOGON.EXE 驻留内存的确是要比 PECMD.EXE 驻留时节省 1~1.5MB 的内存。它是否只接管注册的热键?因为没有看到 PELOGON.EXE 的源程序,所以想问一下。
回复

使用道具 举报

22#
发表于 2007-3-2 23:29:14 | 显示全部楼层
原帖由 lxl1638 于 2007-3-2 22:21 发表


PELOGON实质是PECMD的一部分,它的源码PECMD中全有。
若PECMD以MAIN命令启动的话(无需PELOGON),一样可以注册热键的,启动它的命令行格式是:

PECMD.EXE MAIN %SystemRoot%\System32\PECMD.INI

呵呵,多谢老九。

我决定就是用 PELOGON 驻留后台了。PECMD.EXE 因为只是启动时需要,启动后一般不是很常用,又不驻留内存,我就 UPX -9 了哈。。。
回复

使用道具 举报

23#
发表于 2007-3-2 23:40:02 | 显示全部楼层
原帖由 lxl1638 于 2007-3-2 23:37 发表
如果还想做成最小映像的话,建议用FAT32格式的IMG,它压成IM_与ISO压成IS_在体积上几乎没有差别,INI文件中也很容易配置,可在开启FBWF之前Del文件(开启FBWF之后删X盘中原有的文件不会增加可写空间的)。

开启 FBWF 后,还有好多的事情要做,而有好多文件,是不能及早删除的,因此还是选择 .IS_ 格式吧。除非哪天能够接近 64MB 这个门槛,我会考虑尝试一下
回复

使用道具 举报

24#
发表于 2007-3-2 23:48:01 | 显示全部楼层
原帖由 lxl1638 于 2007-3-2 23:45 发表
问题是开启FBWF后的删X盘内原有的文件是多余的动作,删了可用空间也不会增加。而IMG格式的可在开启FBWF之前删文件,这个删文件是有效的,能增大X盘的可用空间。当然,那些不能提早删的文件可以在适当的时候再删。

另,FAT32格式的IMG压成IM_与同一个ISO格式的PE压成IS_体积几乎完全一样,相差在200K以内或更小。

嘿嘿,那好,明天就去试一把 FAT32 格式 的 IMG
回复

使用道具 举报

25#
发表于 2007-3-6 14:42:41 | 显示全部楼层
原帖由 沙漠之子 于 2007-3-6 14:14 发表

在载入logo图之前text输出的文字到"底层",而在载入logo图之后text输出的文字在logo图层上且后句text输出能清除前一句
但是在"底层"的内容并没有被清除,直到pecmd进程结束时才被清除.

不 ...

是有这种现象,我就不得不在 Logo 前不设置文字显示,而且在 Logo 命令后还需要设置适当的延时才能够再 Text
回复

使用道具 举报

26#
发表于 2007-3-6 15:12:14 | 显示全部楼层
原帖由 lxl1638 于 2007-3-6 15:08 发表
另,整个LOGO过程完全无需LOGO命令也可以显示文字的,这种方式是最省内存的。

还真想去掉 LOGO
回复

使用道具 举报

27#
发表于 2007-3-6 15:18:58 | 显示全部楼层
原帖由 lxl1638 于 2007-3-6 15:12 发表
谁说的?
这个本人没有说过,也无能为力。

至少应该能够取代 BARTPE.EXE -pnp 的功能吧。
回复

使用道具 举报

28#
发表于 2007-3-6 15:37:54 | 显示全部楼层
原帖由 lxl1638 于 2007-3-6 15:22 发表
你2003PE用FAT32格式的IMG(压成IM_也是25.6M)时可以做成96M内存启动,而不是125M。

嘿嘿,还真想去试一试。

上次试了一下,遇到了蓝屏,就没再继续,会不会是 FBWF 的问题?
回复

使用道具 举报

29#
发表于 2007-3-6 19:50:19 | 显示全部楼层
原帖由 lxl1638 于 2007-3-6 17:06 发表


上次所说84M内存能启动指的是不压缩的IMG,压缩后要稍增大内存(16M左右),若不增大会蓝屏,84+16=100,这个还可以按受的。FAT32压缩成IM_正在测试。

嘿嘿,正有转向 FAT32 的 IMG 的打算
回复

使用道具 举报

30#
发表于 2007-3-10 18:23:52 | 显示全部楼层
原帖由 沙漠之子 于 2007-3-10 16:21 发表
大大帮我看看我的配置文件

当注销安装无线网卡或第二外配菜单后能正常启动到桌面

但是当全部使用是,似乎在完成第二外配菜单的工作后pecmd进程直接结束了,没有回到内置配置


不知为何,之前好像没这事的是

我也发现了,PECMD.ini Load 了两个 .ini 文件就会不到内置的 .ini 中。

这也是前两天有些用户说是启动后停在空白蓝屏处,需要手工输入“Explorer.exe” 才可以进入桌面的原因。当用户机器上安装有 WinPE 时,再使用 PE 光盘引导时,PECMD.INI 会找到两个 “外置程序\PECMD.INI”,就会挨个 Load 它们,这两个外置的 .ini 执行完毕后,就会不到了内置的 .ini 中,自然就不会加载 SHELL。

我在今天更新的 PE中不得不修改了外置配置文件,先判断 Explorer.exe 进程是否存在,不存在就加载之。这样能够解决多配置存在引起的这一问题。不知道老九可否从源头(PECMD.INI)着手解决之。

另:沙漠我看了你 525 楼的附件,里面的 PE_IN.INI 有些问题,就是“IFEX \PE_OUT.INI,TEXT 正在载入外部配置…… #0xFFDDDD L8 T8 R1000 B25 $19|LOAD \PE_OUT.INI!CALL 内部设置”这一句,我发现 IFEX 这个命令并不能从所有的分区根目录来查找 PE_OUT.INI 文件,而只会从它的当前执行路径的根目录中找。不知道老九有没有发现,还是本来就这么设计的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-18 08:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表