无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 32875|回复: 37
打印 上一主题 下一主题

PECMD & XCMD 使用讨论,欢迎参加!

  [复制链接]
跳转到指定楼层
1#
发表于 2007-2-17 09:45:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本人开这个主题的目的有三:

1、告知大家,到此PECMD在没有发现重大BUG前提下将不再更新了;
2、简单说明一下使用PECMD的注意事项;
3、简单介绍PECMD几条新命令的使用。

一、PECMD在XCMD2.0原有17条命令基础上经本人修改完善了7条命令
(其实远不只7条,一些被修改的命令参数不变就不作说明而已,如WAIT命令)、
补充了19+1条命令(1条帮助说明中还没加上去),现在的功能已足够丰富了,
基本上能满足本人对PE的使用要求。至此已经觉得没有更新的必要了。

二、PECMD与XPELOGON比较,在登录过程有很大的差别,XPELOGON讲求严谨、安全和兼容,
无论是登录步骤和关机步骤都能体现出来,用户在配置登录过程只能按它指定的步骤去做,
或者只能更改它其中的很小的部分,也可以说中规中举,所以通过XPE插件登录WinPE往往
较慢但成功率较大,最多是启动后的界面用户要调整而已。而PECMD 或 XCMD讲求自由和速度,
登录过程用户可以通过自定义的配置文件来控制,但配置文件一旦不合理往往登录失败。
那么如何使用PECMD才能顺利登录呢?条件有两点:

1、注册表中用户文件夹的信息要完整,即位于
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
项中以下8项的键值必须齐全
Favorites
Desktop
StartMenu
Startup
Programs
SendTo
Personal
QuickLaunch

2、%USERPROFILE%目录所处的位置要有一定的可写空间(不一定是X盘,存在RamDisk的话在B盘)
上述两点具备的话,PECMD三条命令(或者二条)即可登录WinPE,这三条命令是:
INIT
FBWF(或RAMD)
SHEL %SystemRoot%\EXPLORER.EXE

因此使用PECMD登录WinPE时,在执行INIT命令之前需保证%USERPROFILE%所处的位置有一定的空间,
这个空间可以通过FILE命令删一些文件或开启FBWF(RAMD)来获得。

三、PECMD几条命令的使用
1、ENVI命令
貌似平凡,但作用很大,除了能设置环境变量外,XCMD & PECMD的说明中提到:“会自动继承本程序的环境变量”
这条命令可以使长命令变短。
如这样的长命令(注意是一行的),无论在记事本或帖在论坛上都不便阅读:
REGI HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\PrivateHash=@0x22 0x9E 0x53 0x3E 0x5D 0x08 0xAB 0xC8 0x77 0x1D 0xB9 0xD0 0xE6 0x06 0xA8 0x06

通过 ENVI 命令可以将它变成三条短命令:
ENVI V1=HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\PrivateHash
ENVI V2=0x22 0x9E 0x53 0x3E 0x5D 0x08 0xAB 0xC8 0x77 0x1D 0xB9 0xD0 0xE6 0x06 0xA8 0x06
TEAM REGI %V1%=@%V2%|ENVI V1=|ENVI V2=

2、TEAM命令
能将几条短命令写在一行的命令,如上面的第3行,再如,在TEAM命令出现以前,杀进程删文件的操作是一行一行来的:
KILL SMSS
KILL WINLOGON
FILE SMSS.EXE
FILE WINLOGON.EXE

且也很难设置延时操作,TEAM命令的出现可以使上述一连串的操作写成一条命令,且非常容易加上延时等待:
TEAM WAIT 5000|KILL SMSS|KILL WINLOGON|FILE SMSS.EXE|FILE WINLOGON.EXE

TEAM命令的真正威力不在上面的示例,而是放在启动项,通过PECMD的TEAM命令能在启动项可控地有序地执行一连串的操作,
包括延时、按指定顺序启动其它程序!关于这点将在最后给一个示例。

3、RUNS命令
用于设置启动项,RUNS命令出现之前是通过REGI或EXEC命令来设置启动项的,远不如RUNS命令直观,也极难控制启动项,
它的精妙之处请看YY版外部配置文件的启动项(其中PATH命令在帮助说明中没加上,作用是设置PECMD的当前工作目录)设置:
/////////////////////////////////////////////////////////////////////////////////
; 设置启动项
_SUB Setting_Run
     ; 安装极点输入法、注册外置程式、安装驱动程序、设置显示刷新率
     ENVI V0=DESK 正在安装驱动,请稍候...#0xFFL400T300$20
     ENVI V1=PATH %CurDrv%\外置程序
     ENVI V2=EXEC !REGDOC.CMD
     ENVI V3=EXEC FREEWB\FREEWB.EXE
     ENVI V4=DEVI $PE_DRIVER\DRIVERS_VGA.CAB
     ENVI V5=DEVI $PE_DRIVER\DRIVERS_NET.CAB
     ENVI V6=DEVI $PE_DRIVER\DRIVERS_SND.CAB
     ENVI V7=EXEC PE_DRIVER\SETDISPLAY.EXE F85
     ENVI VX=PECMD TEAM
     RUNS %VX% %V0%|%V1%|%V2%|%V3%|%V4%|%V5%|%V6%|%V7%,难以理解的命令
     TEAM ENVI V0=|ENVI V1=|ENVI V2=|ENVI V3=|ENVI V4=|ENVI V5=|ENVI V6=|ENVI V7=|ENVI VX=
_END

/////////////////////////////////////////////////////////////////////////////////

这个启动项只需启动一份PECMD,它有序可控地执行了8条命令(若%CurrDrv%为F: ):
在桌面显示文字信息(正在安装驱动,请稍候...)
设置PECMD的当前工作目录(F:\外置程序)
执行一条老毛桃的CMD批处理注册所有的外挂程序(F:\外置程序\REGDOC.CMD)
启动极点自解压安装程序(F:\外置程序\FREEWB\FREEWB.EXE)
解压显卡驱动并加以安装,位于(F:\外置程序\PE_DRIVER\DRIVERS_VGA.CAB)
解压网卡驱动并加以安装,位于(F:\外置程序\PE_DRIVER\DRIVERS_NET.CAB)
解压声卡驱动并加以安装,位于(F:\外置程序\PE_DRIVER\DRIVERS_SND.CAB)
启动显示设置工具,设置刷新率85,工具位于(F:\外置程序\PE_DRIVER\SETDISPLAY.EXE)

它的精妙之处是可控有序(一条一条)地执行,等待驱动安装完成才设置刷新率。
如果不使用ENVI、TEAM、PATH、RUNS命令,这个启动项很难控制(不用PATH将PECMD的当前工作目录设置成
F:\外置程序,这个启动项超256个字符,系统拒绝执行
)
最后一行是删除已设置的变量(V0~V7、VX)。

本人就谈到此,希望起到抛砖引玉的作用。

[ 本帖最后由 lxl1638 于 2007-2-19 06:21 PM 编辑 ]
推荐
发表于 2013-5-11 15:50:06 来自手机 | 只看该作者
2011hakkai181 发表于 2011-11-14 00:16
FIND Explorer.EXE,!TEAM SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
请各路大神帮忙解答下,这条命令是个什么 ...

查找进程EXPLORER,有,结束。无,载入

点评

惊悚乐园 www.sosoxiaoshuo.cc/so/0/950/  发表于 2014-9-3 21:44
回复

使用道具 举报

推荐
发表于 2011-11-14 00:16:37 | 只看该作者
FIND Explorer.EXE,!TEAM SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
请各路大神帮忙解答下,这条命令是个什么意思
FIND <条件>,[命令1][!命令2]
我没看到条件在哪,不知道他要FIND what?
回复

使用道具 举报

推荐
发表于 2008-9-10 17:49:47 | 只看该作者
原帖由 逛逛 于 2007-11-7 08:26 发表
对pe里面的启动机制不是很清楚, 就是镜像调到内存之后的处理.
xcmd 或 pecmd 怎样被调用的 在哪里设置

假如说要将xcmd改名, 需要在哪里修改?



修改 WINPE.IS_ 里面包含的注册表项就可以了。
回复

使用道具 举报

推荐
发表于 2008-9-10 17:46:37 | 只看该作者
学到知识了,谢谢~~
回复

使用道具 举报

推荐
发表于 2007-11-7 08:26:09 | 只看该作者
对pe里面的启动机制不是很清楚, 就是镜像调到内存之后的处理.
xcmd 或 pecmd 怎样被调用的 在哪里设置

假如说要将xcmd改名, 需要在哪里修改?
回复

使用道具 举报

推荐
发表于 2007-3-7 18:46:45 | 只看该作者
原帖由 黑色de郁金香 于 2007-3-7 03:58 PM 发表
我想用汇编重写一下,好加快启动速度,谁有请发给我一份,谢谢了!


既然看到了,我就好心说一句:汇编不会效率高到哪里去的。现在的编译器不是傻子
回复

使用道具 举报

推荐
发表于 2007-3-7 17:31:36 | 只看该作者
东西不错,顶起来
回复

使用道具 举报

推荐
发表于 2007-3-7 16:51:02 | 只看该作者
原帖由 黑色de郁金香 于 2007-3-7 03:58 PM 发表
我想用汇编重写一下,好加快启动速度,谁有请发给我一份,谢谢了!

http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2
一楼最后
如果能弄出来真的很厉害的说
另:那里有很经典的教程,小弟最近也在研究汇编
回复

使用道具 举报

推荐
发表于 2007-3-7 15:58:11 | 只看该作者

请问 谁有 PECMD 的源代码呀?

我想用汇编重写一下,好加快启动速度,谁有请发给我一份,谢谢了!
回复

使用道具 举报

推荐
发表于 2007-2-28 16:44:04 | 只看该作者
执行下面的命令后,屏幕变得刺眼,看不清text的输出,且不能显示登陆画面,是最新的PECMD V2.4.3
LOGO %CurDrv%\外置程序\桌面背景\RXPE.JPG
回复

使用道具 举报

37#
发表于 2014-8-30 11:07:42 | 只看该作者
作为一名新手,真不知从何处开始学习啊。
回复

使用道具 举报

36#
发表于 2014-6-29 15:08:03 | 只看该作者
留名,下次继续来学习。
回复

使用道具 举报

30#
发表于 2007-9-16 23:17:07 | 只看该作者
原帖由 lxl1638 于 2007-2-17 06:37 PM 发表


到网上查一下RunDll32的使用方法,通过Rundll32.exe注册完那三个DLL后,再启动Shell即可,但这样启动的PE有很多限制(尽管有完整的桌面),窗口不能开三个以上,使用24小时后重启,这点MS很早就说了。
因为关 ...



难道 现在的PE没有24小时限制的,比如那个版本?
回复

使用道具 举报

29#
发表于 2007-4-21 08:57:29 | 只看该作者
学习了,非常感谢:D
回复

使用道具 举报

28#
发表于 2007-4-11 16:17:35 | 只看该作者
几个月没有来 没想到老九居然把XCMD 强化了很多阿! 我刚下载了老毛桃的新版pe 发现用的是PECMD启动的特地过来从新学习一下!
回复

使用道具 举报

27#
 楼主| 发表于 2007-3-20 12:57:40 | 只看该作者
没有当前目录,但有当前驱动器%CurDrv%
回复

使用道具 举报

26#
发表于 2007-3-19 23:13:23 | 只看该作者

怎么没了 %CurDir% 当前目录 环境变量?

怎么没了 %CurDir% 当前目录 环境变量?
回复

使用道具 举报

25#
 楼主| 发表于 2007-3-7 18:51:47 | 只看该作者
原帖由 Yonsm 于 2007-3-7 06:46 PM 发表


既然看到了,我就好心说一句:汇编不会效率高到哪里去的。现在的编译器不是傻子



有人接手做下去总是好事。
管它什么,反正本人就不干了。
回复

使用道具 举报

20#
 楼主| 发表于 2007-2-28 20:19:09 | 只看该作者
原帖由 l1982012800 于 2007-2-28 08:14 PM 发表
123=MM ???


有什么想法?或者已名花有了呢!

[ 本帖最后由 lxl1638 于 2007-2-28 08:24 PM 编辑 ]
回复

使用道具 举报

19#
 楼主| 发表于 2007-2-28 20:16:54 | 只看该作者
另外,看你对VB还很有水平的,试过PowerBasic没,简直就是Basic语法的VC++,BASIC简单易学的语法,VC++的功能,只是目前没有中文帮助,很多人说它做出的EXE文件执行效率在VC之上,asm之下,文件的体积比VC的还小。

[ 本帖最后由 lxl1638 于 2007-2-28 08:18 PM 编辑 ]
回复

使用道具 举报

18#
发表于 2007-2-28 20:14:28 | 只看该作者
123=MM ???
回复

使用道具 举报

17#
 楼主| 发表于 2007-2-28 20:10:44 | 只看该作者
原帖由 123 于 2007-2-28 08:09 PM 发表

那你错了,我做出什么来恐怕只有你才不知道吧。别以为只有你才是真本事。


举例而已,希望不要计较。
回复

使用道具 举报

16#
发表于 2007-2-28 20:09:30 | 只看该作者
原帖由 lxl1638 于 2007-2-28 06:35 PM 发表
只会依样画样,我怎么说呢?先将帮助说明从头看一次,但有耐性看完的人不多。

连帮助说明都没有耐性看完的人,敢说做不出什么来,以前本人是这样骂123MM的。

那你错了,我做出什么来恐怕只有你才不知道吧。别以为只有你才是真本事。
回复

使用道具 举报

15#
 楼主| 发表于 2007-2-28 18:35:45 | 只看该作者
只会依样画样,我怎么说呢?先将帮助说明从头看一次,但有耐性看完的人不多。

连帮助说明都没有耐性看完的人,敢说做不出什么来,以前本人是这样骂123MM的。

[ 本帖最后由 lxl1638 于 2007-2-28 06:48 PM 编辑 ]
回复

使用道具 举报

13#
发表于 2007-2-21 11:49:01 | 只看该作者
老九真的是越来越强了……
回复

使用道具 举报

12#
发表于 2007-2-18 22:43:26 | 只看该作者
支持这样的好东西。。
回复

使用道具 举报

11#
发表于 2007-2-18 20:53:06 | 只看该作者
学习了,非常感谢!
回复

使用道具 举报

10#
 楼主| 发表于 2007-2-17 18:37:20 | 只看该作者
原帖由 strongchen 于 2007-2-17 10:20 AM 发表
以下几个步骤,在cd上,没有开启fbwf的情况下可以执行吗?(应该是不行的)
如果不行,用什么命令可以代替?(老九在之前的帖子上说过可以用rundll32.exe来做的,具体说一下)
CALL SHELL32.DLL,DllInstall,#1, ...


到网上查一下RunDll32的使用方法,通过Rundll32.exe注册完那三个DLL后,再启动Shell即可,但这样启动的PE有很多限制(尽管有完整的桌面),窗口不能开三个以上,使用24小时后重启,这点MS很早就说了。
因为关键一点(初始化桌面)目前只能通过专门的程式,如XPELOGON或PECMD之类来完成。
回复

使用道具 举报

9#
发表于 2007-2-17 13:40:54 | 只看该作者
呵呵,这人贴子不错,学到不少东东!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-28 15:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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