无忧启动论坛

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

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

    [复制链接]
61#
 楼主| 发表于 2007-2-7 23:41:34 | 显示全部楼层
回复

使用道具 举报

62#
 楼主| 发表于 2007-2-8 00:01:40 | 显示全部楼层
原帖由 strongchen 于 2007-2-7 11:54 PM 发表
老九既然把pelogon.exe都做出来了,可不可以考虑多shell选择呢(有下拉菜单,可以注销那种)


以后再作打算,不竟 EXPLORER.EXE 作 SHELL 是大多数用户的习惯。
回复

使用道具 举报

63#
 楼主| 发表于 2007-2-8 10:16:40 | 显示全部楼层
你们帖INI文上来!,本人是经过测试才发的.
以前从yonsm的换成本人的也有N多人出现问题,相信是对命令不了解或配置文件有错而引起的

[ 本帖最后由 lxl1638 于 2007-2-8 10:20 AM 编辑 ]
回复

使用道具 举报

64#
 楼主| 发表于 2007-2-9 09:45:56 | 显示全部楼层
原帖由 zzoym 于 2007-2-9 01:09 AM 发表
PECMD V2.3 (简版PECMGD)  XLOG %SystemRoot%\PECMD.LOG     得到是乱码

很简单,你的IMG可用空间很小,试试将IMG做大,或执行几个FILE命令删掉一些文件,或执行FBWF命令开启FBWF后再打开日志试试。
回复

使用道具 举报

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

XCMD 和 PECMD 的命令能否执行成功很大程度上与两方面因素有关:
1、IMG的可用空间,加载XCMD或PECMD后,在向IMG内写文件(如创建目录、建立快捷方式、记录日志等)之前,IMG须保留4M左右的可用空间;
2、可用内存,若可用内存太小了,开启了FBWF也不行。

否则,很多命令都无法执行,最明显的就是快速启动栏不出现或显示桌面的图标不出现。

[ 本帖最后由 lxl1638 于 2007-2-9 11:42 AM 编辑 ]
回复

使用道具 举报

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


不要在 PECMD 的 INIT 或 LOAD 进程内 Kill 那两个核心文件,要放到Windows启动项中Kill,因为为了降低PECMD的内存要求,PECMD的INIT进程很迟(加载SHELL时)才启动,就如同以前用XPELOGON一样,SHELL没启动,KILL那两个进程必然重启。

另,用EXEC $explorer加载SHELL时不会注册热键(你的HOTK命令无效,HIDE命令也无效),也不会将SHELL锁定,用EXEC $explorer加载SHELL时的INIT进程会象以前一样提早启动,可以直接在INI文件内KILL那两个进程。

所以建议用 SHEL 命令加载 SHELL。

[ 本帖最后由 lxl1638 于 2007-2-9 02:47 PM 编辑 ]

未命名.PNG (26.26 KB, 下载次数: 173)

未命名.PNG
回复

使用道具 举报

67#
 楼主| 发表于 2007-2-9 14:15:10 | 显示全部楼层
原帖由 snaketsg 于 2007-2-9 02:00 PM 发表
XLOG %SystemRoot%\PECMD.LOG

偶从XCMD开始都是乱码


晕,重复的问题,都要本人解释,那有那么多时间,看上几楼,关键问题,向IMG内写文件,创建目录前必须保证IMG有足够的可用空间,不能以你做好的IMG的可用空间来计算,因为启动过程中,系统会自己生成大量垃圾文件(你对比一下,启动后的文件和原来IMG内的文件就知道了)。
回复

使用道具 举报

68#
 楼主| 发表于 2007-2-9 14:43:50 | 显示全部楼层
原帖由 zzoym 于 2007-2-9 01:58 PM 发表

//配置文件开始(注意,文件以空行或注释结束,可以在文件的开始和结束处加一行注释)

XLOG %SystemRoot%\PECMD.LOG
LOGO PELOGON.JPG
TEXT 开始登录系统、并设定系统……#0xFFFF,10,720,799,758 $24
IFEX  ...


看下面的红字!都说了IMG内要有一定的可用空间才会正常!也叫你先执行FILE命令删几个文件或开启FBWF再开启日志!
//配置文件开始(注意,文件以空行或注释结束,可以在文件的开始和结束处加若干注释以作说明)
TEAM LOGO PELOGON.JPG|TEXT 开始登录、并设定系统……#0xFFFF,20,720,799,758 $20
TEAM FILE %SystemRoot%\SYSTEM32\NTOSKRNL.EXE|FILE %SystemRoot%\TXTSETUP.SIF
XLOG %SystemRoot%\PECMD.LOG
TEAM ENVI|USER 老九,无忧启动论坛|ENVI ProgramFiles=%SystemDrive%\Programs

// 修正 USB 驱动程序文件路径……
REGI HKLM\System\CurrentControlSet\Services\USBHUB\ImagePath=System32\Drivers\USBHUB.SYS
REGI HKLM\System\CurrentControlSet\Services\USBCCGP\ImagePath=System32\Drivers\USBCCGP.SYS
REGI HKLM\System\CurrentControlSet\Services\USBEHCI\ImagePath=System32\Drivers\USBEHCI.SYS
REGI HKLM\System\CurrentControlSet\Services\USBOHCI\ImagePath=System32\Drivers\USBOHCI.SYS
REGI HKLM\System\CurrentControlSet\Services\USBSTOR\ImagePath=System32\Drivers\USBSTOR.SYS
REGI HKLM\System\CurrentControlSet\Services\USBUHCI\ImagePath=System32\Drivers\USBUHCI.SYS

TEXT 正在注册组件……
CALL SHELL32.DLL,DllInstall,#1,I
CALL BROWSEUI.DLL,DllInstall,#1,I
CALL SHDOCVW.DLL,DllInstall,#1,I
EXEC =@XCMD.EXE CALL SHELL32.DLL,DllInstall,#1,U
//上面这行你也写错了,XCMD已改名为PECMD,可以这样。
//如果不能建立快速启动栏的快捷方式,这行还要移后(它实际上是建立快捷方式的)

CALL SHELL32.DLL,DllInstall,#1,U
回复

使用道具 举报

69#
 楼主| 发表于 2007-2-9 15:33:25 | 显示全部楼层
本人经反复多次调试,是可以开启日志记录的,再说一次,关键是保证IMG内的一定的空间!否则很多命令执行都不正常!若IMG的空间有限的话,不要试图提早开启日志记录!

未命名.PNG (95.85 KB, 下载次数: 139)

未命名.PNG
回复

使用道具 举报

70#
 楼主| 发表于 2007-2-9 16:01:33 | 显示全部楼层
与日志是否乱码无关,是XCMD当初设计上的不足。在 INIT 或 LOAD 进程内再LOAD一个INI文件后,所有的日志都会停止记录。
回复

使用道具 举报

71#
 楼主| 发表于 2007-2-13 14:13:57 | 显示全部楼层
又更新了,增加了 GOTO 命令。
回复

使用道具 举报

72#
 楼主| 发表于 2007-2-13 14:53:40 | 显示全部楼层
原帖由 老毛桃 于 2007-2-13 02:49 PM 发表

嘿嘿,老九,真行!


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

使用道具 举报

73#
 楼主| 发表于 2007-2-13 16:38:39 | 显示全部楼层
原帖由 gues1688 于 2007-2-13 03:04 PM 发表


谢谢大师!
GOTO是否改成CALL好一点?


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

1、要么将 CALL 命令改为 FUNC 命令,再将 GOTO 命令改为 CALL ;
2、要么直接将 GOTO 命令改为 FUNC 命令,但 这个 FUNC 不可能有返回值,也有点不伦不类。

[ 本帖最后由 lxl1638 于 2007-2-13 04:39 PM 编辑 ]
回复

使用道具 举报

74#
 楼主| 发表于 2007-2-13 16:51:16 | 显示全部楼层
原帖由 老毛桃 于 2007-2-13 04:46 PM 发表

那就叫 JUMP 吧。


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

使用道具 举报

75#
 楼主| 发表于 2007-2-13 17:09:33 | 显示全部楼层
原帖由 老毛桃 于 2007-2-13 04:53 PM 发表

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


或将原来的CALL改为FUNC,把GOTO改为CALL,再增加一个实实在在的GOTO命令,一个直接跳跃没有返回的GOTO命令,跳到哪里就从哪里开始执行,被跳过的命令不再回头理会。
回复

使用道具 举报

76#
 楼主| 发表于 2007-2-14 01:16:24 | 显示全部楼层
原帖由 gues1688 于 2007-2-13 07:30 PM 发表


Execute 或 RunDll 作为调用Dll函数的命令是否直观一些,Function似乎作为名词,定义函数时使用更贴切一些。


问题是 Exec 、Call 这些关键词都已有它的用途了:
Exec 用来执行外部命令( .EXE、.CMD或.BAT);
Call  用来调用 DLL 函数。

与现在这个 GOTO 功能近似的关键词(统一格式,4个字符)真不好找。
回复

使用道具 举报

77#
 楼主| 发表于 2007-2-14 13:23:27 | 显示全部楼层
原帖由 123 于 2007-2-14 12:04 PM 发表
终于搞出个GOTO来了,以前没搞出来是因为没一次性把所有行读到字符串数组里,我直接用System.IO.File.ReadAllLines函数就可以返回一个字符串数组,只是这个函数是.net里的,你恐怕用不了。


指针操作,执行效率更高,消耗资源更低。
VB或Pascal对传统的ASCII字符串操作往往要复制一份作副本,这样消耗资源会大。
等下会将 GOTO 命令合并到 CALL 命令中,同时做一个简简单单的WinPE让大家好好理解PECMD一些新命令的使用,
CALL命令新功能(原GOTO)的出现使配置文件结构化、模块化、脚本化成为现实!


[ 本帖最后由 lxl1638 于 2007-2-14 01:26 PM 编辑 ]
回复

使用道具 举报

78#
 楼主| 发表于 2007-2-15 08:53:33 | 显示全部楼层
还在编辑帖子,居然就有人下载了,翻新过年啦 。
回复

使用道具 举报

79#
 楼主| 发表于 2007-2-15 19:01:06 | 显示全部楼层
原帖由 songq 于 2007-2-15 04:02 PM 发表
Wait 7000
KILL SMSS.EXE
KILL WINLOGON.EXE
FILE %SYSTEMROOT%\SYSTEM32\SMSS.EXE
FILE %SYSTEMROOT%\SYSTEM32\WINLOGON.EXE


把上面的放到启动组,通过 SHEL 命令加载的 SHELL 的加载方式不同。以前通过 EXEC 命令加载时,PECMD 读到那一行就执行那一行,而现在通过 SHEL 加载 SHELL 时是通过消息投递给 MAIN (以前的INIT)进程的 PECMD,由另一个PECMD(MAIN进程)来加载的,所以太早遇到KILL SMSS.EXE、KILL WINLOGON.EXE时必然启动。

最好你下载示例来参照一下,为了方便下载,这个示例也做得很小,总共不到30MB。

其实你可以在本人提供示例的各个模块填入或修改命令即可。

[ 本帖最后由 lxl1638 于 2007-2-15 07:02 PM 编辑 ]
回复

使用道具 举报

80#
 楼主| 发表于 2007-2-15 23:38:59 | 显示全部楼层
原帖由 songq 于 2007-2-15 11:28 PM 发表
没看懂,我用的pelogon+pecmd
1.这种变化是刚从goto版本改的吗,goto版本还运行正常,
2.我把这部分放在启动组,甚至全去掉,现象还是一样,explorer反复地重启,但始终一闪就没了.
3.我按照你说的的格式改了,可以启动 ...


你先试启动一个最小化的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

INIT
TEXT 载入桌面!
LOGO
WAIT 2000
SHEL %SystemRoot%\EXPLORER.EXE
WAIT 3000

红色是删文件,有多少能删的都加入去,蓝色的命令是最基本的初始化,它的工作要有一定的可写空间(要建立必要的目录和文件),若加载SHELL时加载不上(加载后SHELL自动退出,反复如此),说明可写空间不足没有建立用户文件夹,SHELL无法工作,所以SHELL马上退出。
下面提供YY版的配置文件给你参考,这两个配置文件已高度模块化,你只需在各模块内填写自己的命令即可。

[ 本帖最后由 lxl1638 于 2007-2-15 11:44 PM 编辑 ]

配置文件.RAR

4.21 KB, 下载次数: 64, 下载积分: 无忧币 -2

YY版的配置文件

回复

使用道具 举报

81#
 楼主| 发表于 2007-2-16 00:53:00 | 显示全部楼层
另外,杀那两个进程和删文件的操作可用群组命令,一连串的操作一条命令、启动一个PECMD即可搞定。晚些网速好了再上传YY版:

RUNS PECMD TEAM WAIT 3000|KILL SMSS|KILL WINLOGON|FILE SMSS.EXE|FILE WINLOGON.EXE,WAITKILL

红字TEAM为执行命令群,有它很多短命令都可以在启动组启动一个PECMD即可。

[ 本帖最后由 lxl1638 于 2007-2-16 12:56 AM 编辑 ]
回复

使用道具 举报

82#
 楼主| 发表于 2007-2-16 00:56:00 | 显示全部楼层
原帖由 l1982012800 于 2007-2-16 12:53 AM 发表
////////////////////////////能不能用##################替代,,这么多//////////////////////////////////////////看得人眼晕


晕,你可以删去注释!
回复

使用道具 举报

83#
 楼主| 发表于 2007-2-16 01:44:54 | 显示全部楼层
原帖由 adatsui 于 2007-2-16 01:38 AM 发表
這樣使用時 pecmd font \windows , 如何可以不搜查 軟盤 A: ? 因 這硬是要按一次 繼續.
pecmd 不帶參數時所顯示的 幫助, 可以加入繁體嗎 ?


你将那份帮助说明做成繁體的,我给你做个繁體版试下。
先将说明复制出来,如何将它转换成繁體是你的事了。

搜查A的问题还存在,若实在需要改以后再改,不过软驱基本上没人有了,只有那些很旧的机子才有软驱。
或者把安装外挂字体的那行加注释,只使用内核部分的字体也基本够用了。

[ 本帖最后由 lxl1638 于 2007-2-16 01:48 AM 编辑 ]
回复

使用道具 举报

84#
 楼主| 发表于 2007-2-16 06:23:55 | 显示全部楼层
原帖由 adatsui 于 2007-2-16 02:54 AM 发表
立刻來. 過了 5000 字, 我用附件發上來
A: 問題說的也是, 乾脆就這樣吧  pecmd font c:\windows , 再多一行 pecmd font D:\windows 該很足夠了.

謝謝大俠了.


早上好,再要你做些工作,就是下面的文字也转成繁体的:

执行错误
找到设备
找到驱动
文件
对帮助说明文件的本地化。


包括最后一个标点符号,注删字体的事,现在在修改,打算跳过A:、B:两个分区,不知这样是否可行?
或者再加多一个参数,命令格式为:

FONT  \Windows,C


最后一个参数为指定的搜查分区起点,若为C,则搜查C及C以后的分区,省略时搜查所有分区。

[ 本帖最后由 lxl1638 于 2007-2-16 06:25 AM 编辑 ]
回复

使用道具 举报

85#
 楼主| 发表于 2007-2-16 09:14:47 | 显示全部楼层
原帖由 adatsui 于 2007-2-16 01:38 AM 发表
這樣使用時 pecmd font \windows , 如何可以不搜查 軟盤 A: ? 因 這硬是要按一次 繼續.
pecmd 不帶參數時所顯示的 幫助, 可以加入繁體嗎 ?


本人按你的要求把 FONT 命令改了一下,支持定义起始分区,可以从指定的分区开始搜查字体,所以帮助说明可改了,要你从新做一次繁体本地化工作。

注册字体的工作在配置文件中可以定义成不用按键的:
TEAM TEXT 搜索并安装字体……|FONT \WINDOWS,C:|FONT %CurDrv%\外置程序\FONT

这样的写法不用按任何键就会自动搜索硬盘(从C:分区起)上的字体和外挂字体的,当然命令可以高度自由定义的。

另,LOAD 命令也改了一下,以前很多人说会自动加载所有分区根目录下的INI文件,因为原来的XCMD有这个功能。现在改成搜索硬盘指定目录下的INI文件,发现有才加载。

附件的文件要你做语言本地化工作。

HELP.RAR

9.66 KB, 下载次数: 61, 下载积分: 无忧币 -2

回复

使用道具 举报

86#
 楼主| 发表于 2007-2-16 15:03:59 | 显示全部楼层
原帖由 songq 于 2007-2-16 12:21 PM 发表



晕倒,我试了半天,发现既不是goto,也不是call的原因,
就是因为别的硬盘分区上有个ini配置文件,造成shell反复加载进不了桌面,我的配置文件没有问题



的确是这样,本人在调试时就发现了,一下忘记告诉你了,现在这个LOAD命令也改,当然改后会兼容原来的配置文件,不会反复LOAD了。

台湾兄弟呢?晚上才上?

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

使用道具 举报

87#
 楼主| 发表于 2007-2-16 20:41:33 | 显示全部楼层
先谢。
回复

使用道具 举报

88#
 楼主| 发表于 2007-2-20 13:18:18 | 显示全部楼层
原帖由 adatsui 于 2007-2-20 06:07 AM 发表
@老九
新版 PECMD 裝 FONT 依你說的用法, 沒有再找 a: 盤了, 一切正常. 謝謝.


什么时候SHOW你繁体PE出来,让大家见识见识?
回复

使用道具 举报

89#
 楼主| 发表于 2007-2-21 19:39:44 | 显示全部楼层
ISO or IMG ?
回复

使用道具 举报

90#
 楼主| 发表于 2007-2-21 19:45:33 | 显示全部楼层
原帖由 zts59 于 2007-2-21 07:17 PM 发表
更新了一下,怎么进入不了桌面了,好像循执行EXPLORER.EXE然后终止,导致桌面不停的一闪而过。
用是的一楼的内部配置文件,我屏敝了外置文件也一样。

是不是MAIN和INIT命令搞错了?MAIN命令不是已经在PELOGON ...



你先试试这样,
注册表中直接用:PELOGON.EXE PECMD LOAD %SystemRoot%\SYSTEM32\PECMD.INI
PECMD.INI就三行试试:
FBWF P20 H64
INIT
SHELL %SystemRoot%\EXPLORER.EXE

如果是IMG格式的,可以先用FILE删些文件,FBWF放到后期再开启。如果是ISO格式的FBWF要第一步开启。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 06:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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