无忧启动论坛

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

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

    [复制链接]
601#
发表于 2007-4-5 09:27:31 | 只看该作者
求助
似乎FIND命令无法在命令群组中隐藏运行批命令,如何解决??
比如:
FIND MEM>256,EXEC !XXXX.CMD       不能正常运行XXXX.CMD,在FIND命令中!已经定义成表达式不成立是调用的命令群组
FIND MEM>256,EXEC XXXX.CMD        可以正常运行,但是会出现讨厌的CMD窗口

还有IFEX命令中的参数也是一样,不知如何解决?

[ 本帖最后由 goffi 于 2007-4-5 09:29 AM 编辑 ]
回复

使用道具 举报

602#
发表于 2007-4-5 09:49:50 | 只看该作者
原帖由 lxl1638 于 2007-4-4 08:44 PM 发表
你与本人的理解不同啊,你的意思是256MB以上内存询问用户是否设置虚拟内存,256MB以下强制设置虚拟内存?可以这样:


上面的写法,256MB以上内存时执行红色的命令,它的返回结果决定是否执行棕色的命令,即 ...


其实不应该强制设置虚拟内存,如果要做数据恢复,就尽量不要在硬盘上写入文件,可能会改变数据结构导至数据无法正常恢复
我在测试时就遇到这样的情况
回复

使用道具 举报

603#
 楼主| 发表于 2007-4-5 11:37:58 | 只看该作者
原帖由 goffi 于 2007-4-5 09:27 AM 发表
求助
似乎FIND命令无法在命令群组中隐藏运行批命令,如何解决??
比如:
FIND MEM>256,EXEC !XXXX.CMD       不能正常运行XXXX.CMD,在FIND命令中!已经定义成表达式不成立是调用的命令群组
FIND MEM>256,EXEC X ...


是的,因为FIND和IFEX命令定义了"!"后的为第二个命令群(条件不成立时执行该命令群)。但可以变个方式实现你要的功能:
EXEC命令还有另一个隐藏运行的前导符"@",这个问题已有多人提过了。


FIND MEM>256,EXEC @XXXX.CMD
回复

使用道具 举报

604#
发表于 2007-4-5 11:40:27 | 只看该作者
谢谢
好久没关注这个帖子了
人懒,不好意思
回复

使用道具 举报

605#
 楼主| 发表于 2007-4-5 11:44:46 | 只看该作者
要注意的是,凡属隐藏运行的程序或P处理都要能自动退出,因为隐藏后无法与用户交互。
回复

使用道具 举报

606#
发表于 2007-4-5 12:07:56 | 只看该作者
原帖由 lxl1638 于 2007-4-5 11:44 AM 发表
要注意的是,凡属隐藏运行的程序或P处理都要能自动退出,因为隐藏后无法与用户交互。


OK,测试一下
谢谢提醒
回复

使用道具 举报

607#
发表于 2007-4-5 16:36:49 | 只看该作者
PECMD的环境变量名称长度限制是多少?
回复

使用道具 举报

608#
发表于 2007-4-5 16:55:02 | 只看该作者
2.68版更新到02.16的YY版里去,有问题.进入不了载入界面,更别说桌面了.按要求改行尾注释为`也不行,彻底删除行尾注释都不行.不知何解.
回复

使用道具 举报

609#
 楼主| 发表于 2007-4-5 18:12:24 | 只看该作者
原帖由 mackyliu 于 2007-4-5 04:55 PM 发表
2.68版更新到02.16的YY版里去,有问题.进入不了载入界面,更别说桌面了.按要求改行尾注释为`也不行,彻底删除行尾注释都不行.不知何解.



内部配置文件用这个试试:
; 配置文件开始(注意,文件开始和结束必须是空行或注释)
////////////////////////////////////////////////////////////////
_SUB Start_Logon
     TEAM LOGO WINLOGON.JPG|WAIT 100|TEXT 初始化系统……#0xFFFF L20 T720 R799 B758 $20
     TEAM FILE %SystemRoot%\SYSTEM32\NTOSKRNL.EXE|FILE %SystemRoot%\TXTSETUP.SIF|FILE %SystemRoot%\SYSTEM32\SetupReg.HIV
     TEAM FILE %SystemRoot%\SYSTEM32\HAL*.DLL|FILE %SystemRoot%\SYSTEM32\BOOTVID.DLL|FILE %SystemRoot%\SYSTEM32\KDCOM.DLL
     TEAM INIT|WALL %SystemRoot%\SYSTEM32\WALLPAGE.JPG
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
_SUB USER_Setting
     TEAM HIDE|USER 老九,无忧启动论坛|ENVI ProgramFiles=%SystemDrive%\Programs
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
_SUB FixSystem
     // 修正 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

     //设定系统……
     REGI HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\PostBootReminder=
     REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{7007ACC7-3202-11D1-AAD2-00805FC1270E}\!
     REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{D20EA4E1-3957-11d2-A40B-0C5020524153}\!
     REGI HKCR\lnkfile\IsShortcut

     //取消安装未经签名的驱动程序警告……
     REGI HKCU\Software\Microsoft\Driver Signing\Policy=@0
     REGI HKLM\Software\Microsoft\Driver Signing\Policy=@0
     REGI HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\PrivateHash=@0x22 0x9E 0x53 0x3E 0x5D 0x08 0xAB 0xC8 0x77 0x1D 0xB9 0xD0 0xE6 0x06 0xA8 0x06
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
_SUB Created_System_Menu
     TEXT 创建系统程序快捷方式……
     EXEC @PECMD.EXE CALL $SHELL32.DLL,DllInstall,#1,U

     LINK %Programs%\附件\系统工具\磁盘管理,DISKMGMT.MSC,,DMDSKRES.DLL
     LINK %Programs%\附件\系统工具\计算机管理,COMPMGMT.MSC,,MYCOMPUT.DLL,2
     LINK %Programs%\附件\系统工具\设备管理器,DEVMGMT.MSC,,DEVMGR.DLL,3
     LINK %Programs%\附件\系统工具\磁盘碎片整理程序,DFRG.MSC,,DFRGRES.DLL
     LINK %Programs%\附件\系统工具\共享文件夹,FSMGMT.MSC,,FILEMGMT.DLL,1
     LINK %Programs%\附件\系统工具\服务管理器,SERVICES.MSC,,FILEMGMT.DLL

     LINK %Desktop%\命令提示符,CMD.EXE
     LINK %StartMenu%\PECMD使用说明,PECMD.EXE

     LINK %Programs%\附件\画图,MSPAINT.EXE
     LINK %Programs%\附件\记事本,NOTEPAD.EXE
     LINK %Programs%\附件\计算器,CALC.EXE
     LINK %Programs%\附件\命令提示符,CMD.EXE
     LINK %Programs%\附件\注册表编辑器,REGEDIT.EXE
     LINK %Programs%\附件\资源管理器,EXPLORER.EXE,,EXPLORER.EXE,1
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
_SUB Created_Tools_Menu
     TEXT 创建用户工具快捷方式……
     LINK %QuickLaunch%\清理临时文件,%ProgramFiles%\PETOOLS\CLEANTEMP.EXE
     LINK %QuickLaunch%\设置虚拟内存,%ProgramFiles%\PETOOLS\SETPAGEFILE.EXE

     LINK !%Programs%\网络设置工具\网络服务(拨号前先启用),STARTNET.CMD,,SHELL32.DLL,14
     LINK !%Programs%\网络设置工具\宽带连接,STARTPPPOE.CMD,,PPPOE.ICO
     LINK !%Programs%\网络设置工具\挂断ADSL,HANGUP.CMD,,HANGUP.ICO
     LINK %Programs%\网络设置工具\PENETCFG网络设置,PENETCFG.EXE
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
_SUB Setting_Run
     RUNS PECMD TEAM SERV AudioSrv|WAIT 5000|KILL SMSS|KILL WINLOGON,WAITKILL
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
_SUB Setting_PAGE_FBWF_RAMD
     TEAM PAGE E:\PAGE.SYS 64|FBWF P20 H32
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
_SUB Setting_SHELL
     TEAM TEXT 载入桌面!|LOGO|WAIT 2000|SHEL %SystemRoot%\EXPLORER.EXE|WAIT 3000
_END
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
主体执行流程
;LOGS %SystemRoot%\PECMD.LOG,20 ; 日志记录
CALL Start_Logon
CALL USER_Setting

LOAD \外置程序\PECMD.INI
CALL Setting_PAGE_FBWF_RAMD
CALL FixSystem
CALL Created_System_Menu
CALL Created_Tools_Menu

CALL Setting_Run
CALL Setting_SHELL
;LOGS

////////////////////////////////////////////////////////////////
;配置文件结束
回复

使用道具 举报

610#
发表于 2007-4-5 19:55:42 | 只看该作者
PECMD的环境变量名称长度限制是多少?
回复

使用道具 举报

611#
 楼主| 发表于 2007-4-5 20:37:56 | 只看该作者
配置文件中的环境变量展开后(如%SystemRoot%展开后为X:\I386),一行文件的长度不要超过1K。
文件目录名的长度不要超过256个字符。

变量名及其值的长度不要超过80个字符。

应该够用了。
回复

使用道具 举报

612#
发表于 2007-4-5 22:53:20 | 只看该作者
够用了。主要是为了嵌套使用。
回复

使用道具 举报

613#
发表于 2007-4-7 11:51:08 | 只看该作者
MESS里的环境变量 %YESNO%
可不可以这样处理
默认设置为一个值 YES或者NO都无所谓了
当选择[是]时,值为 YES
当窗口超时自动关闭时不去改变这个变量的值
当选择[否]时,值为 NO

因为在老毛桃的PE里 如果开机时候走到设置虚拟内存的时候 如果希望默认值为设置的话 这里就不好处理
当然也可以改变逻辑 yes当成不设置内存 可文字上有些别扭
如果能按上面的形式处理环境变量 就可以将初使值置为自己希望的值 比如YES 这样当没有选择的时候 就可以默认进入设置虚拟内存的选择框了

这样对于每次都需要设置虚拟内存的人来说 就不需要每次都点 是 了
回复

使用道具 举报

614#
发表于 2007-4-7 20:22:27 | 只看该作者
原帖由 xiazaia 于 2007-4-7 11:51 AM 发表
MESS里的环境变量 %YESNO%
可不可以这样处理
默认设置为一个值 YES或者NO都无所谓了
当选择[是]时,值为 YES
当窗口超时自动关闭时不去改变这个变量的值
当选择[否]时,值为 NO

因为在老毛桃的PE里 如果 ...


上次就提了。好像搂主没意思。。。郁闷。
回复

使用道具 举报

615#
发表于 2007-4-7 20:26:40 | 只看该作者
logo有问题。在pecmd.ini里面使用logo(不使用wall),无法显示logo。只是显示灰色底色。但有时又成功(成功机会很少)。不知道怎么回事。现在是好采用变通方法。但是代码看上去不爽。象是傻瓜写的。再次郁闷。


谁能看出下面代码的区别?

logo logo.jpg
\\logo logo.jpg
这个代码可以显示logo

logo logo.jpg
这个代码无法显示

居然有这样的事。是我测试了n次后得出的结论。:L :L :L

[ 本帖最后由 lwf8888 于 2007-4-7 09:02 PM 编辑 ]
回复

使用道具 举报

616#
发表于 2007-4-7 20:31:53 | 只看该作者
envi$ 有错误。
在pecmd.ini里设置 envi $instroot=c:\winpe。启动后通过gui可看到。在cmd里看不到。
问题:启动后如果执行 pecmd load filename.ini,那么filename里是不能引用 $instroot的。。。。

1.JPG (199.39 KB, 下载次数: 181)

1.JPG
回复

使用道具 举报

617#
 楼主| 发表于 2007-4-7 20:44:12 | 只看该作者
你看说明,都说过要在Windows的启动项中用无参数的Envi命令刷新这些环境变量才生效。
回复

使用道具 举报

618#
 楼主| 发表于 2007-4-7 20:55:09 | 只看该作者
原帖由 xiazaia 于 2007-4-7 11:51 AM 发表
MESS里的环境变量 %YESNO%
可不可以这样处理
默认设置为一个值 YES或者NO都无所谓了
当选择[是]时,值为 YES
当窗口超时自动关闭时不去改变这个变量的值
当选择[否]时,值为 NO

因为在老毛桃的PE里 如果 ...



准备这样处理:
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃      │格式│MESS <消息窗文字内容><@消息窗文字标题><#消息窗类型>[*自动关闭的时间(毫秒)][$默认的选择] ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │功能│显示一个[是/否]选择消息窗或显示一个带[确定]按钮的消息窗口。                                                   ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │参数│※"消息窗文字内容"支持多行文字,文字行间用"\n"断开;"消息窗类型"目前支持"YN"和"OK"两种类型
┃      │      │※自动关闭的时间设置为0或不设置时,消息窗口不会自动关闭。默认的选择用Y或N表示,如$Y或$N。  ┃
┃MESS├──┼──────────────────────────────────────────────┨
┃      │示例│MESS 发现物理内存不足,\n是否设置虚拟内存?@设置虚拟内存 #YN *10000 $N                            ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │备注│※用户对"YN"类型消息窗的选择结果保存在环境变量 %YESNO% 中,当选择[是]时,环境变量%YESNO%的值                    
┃      │      │  为YES,当窗口超时关闭或选择[否]时这一变量值为NO,可用IFEX或FIND命令判断这一环境变量的值
┃      │      │※"YN"类型消息窗省略默认的选择参数时自动关闭的返回值为NO。                                                 ┃
┃      │      │※"OK"类型消息窗没有返回值,仅向用户显示提示消息。                                                              ┃
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫

[ 本帖最后由 lxl1638 于 2007-4-7 09:00 PM 编辑 ]
回复

使用道具 举报

619#
发表于 2007-4-7 22:11:09 | 只看该作者
//漏洞
指令: // %systemroot% 执行时会变成 // x:\winpe 即 在注释里解释了环境变量
问题://后面如果有无效指令时会导致 ini 文件无法执行到最后一条指令,至于死在何处,目前无法调试。
回复

使用道具 举报

620#
发表于 2007-4-7 22:20:43 | 只看该作者
原帖由 lxl1638 于 2007-4-7 08:55 PM 发表



准备这样处理:

:victory: :victory: :victory: :victory:
回复

使用道具 举报

621#
发表于 2007-4-7 22:31:10 | 只看该作者
原帖由 lxl1638 于 2007-4-7 08:44 PM 发表
你看说明,都说过要在Windows的启动项中用无参数的Envi命令刷新这些环境变量才生效。


pecmd里没有这样的说明呀。:'(
回复

使用道具 举报

622#
 楼主| 发表于 2007-4-7 22:40:49 | 只看该作者
原帖由 lwf8888 于 2007-4-7 10:31 PM 发表


pecmd里没有这样的说明呀。:'(



┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │格式│ENVI [$][名称][[=]值]                                                                       ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │功能│设置或清除环境变量。                                                                        ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │参数│※指定环境变量名称和值。前导"$"表示设置系统级环境变量,否则仅设置本程序内部使用的环境变量。 ┃
┃    │    │※如果不指定值,则删除环境变量。                                                            ┃
┃ENVI├──┼──────────────────────────────────────────────┨
┃    │示例│ENVI TEMP=%SystemDrive%\TEMP                                                                ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │备注│※如果使用"EXEC"执行的程序,会自动继承本程序的环境变量,换句话说,如果在配置文件中设置带"$" ┃
┃    │    │  的环境变量,对后面的"EXEC"程序中也会有效。                                                ┃
┃    │    │※在命令提示符下,可以通过没有参数的ENVI命令刷新环境变量。                                   ┃
┃    │    │※当仅有参数"$"时,则初始化用户文件夹,命令提示符下也可刷新环境变量。                       ┃
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
回复

使用道具 举报

623#
发表于 2007-4-7 22:50:29 | 只看该作者
原帖由 lxl1638 于 2007-4-7 08:55 PM 发表



准备这样处理:

谢谢 期待新版本……
回复

使用道具 举报

624#
发表于 2007-4-7 23:00:21 | 只看该作者
原帖由 lxl1638 于 2007-4-7 10:40 PM 发表



┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │格式│ENVI [$][名称][[=]值]                                             ...


在命令提示符下对当前cmd没有用,只对命令之后新cmd有效。

[ 本帖最后由 lwf8888 于 2007-4-7 11:12 PM 编辑 ]
回复

使用道具 举报

625#
发表于 2007-4-7 23:15:16 | 只看该作者
TEXT 漏洞
TEXT 后文字如果有非法命令或变量也会死机
如:TEXT 显示LOGO...结果提示LOGO会被解释为命令,结果是没有LOGO显示。:L :L
回复

使用道具 举报

626#
 楼主| 发表于 2007-4-7 23:30:42 | 只看该作者
更新到2.71版。
回复

使用道具 举报

627#
 楼主| 发表于 2007-4-7 23:33:00 | 只看该作者
原帖由 lwf8888 于 2007-4-7 11:15 PM 发表
TEXT 漏洞
TEXT 后文字如果有非法命令或变量也会死机
如:TEXT 显示LOGO...结果提示LOGO会被解释为命令,结果是没有LOGO显示。:L :L


不会吧,或者你这个"TEXT 显示LOGO..."可能已关闭LOGO窗口了。
回复

使用道具 举报

628#
发表于 2007-4-7 23:44:58 | 只看该作者
呵呵,第一个顶2.71版拉
回复

使用道具 举报

629#
 楼主| 发表于 2007-4-7 23:47:19 | 只看该作者
原帖由 icdmain 于 2007-4-7 11:44 PM 发表
呵呵,第一个顶2.71版拉


晕,4月份的日期填成5月份了。
回复

使用道具 举报

630#
发表于 2007-4-8 01:21:40 | 只看该作者
记得Yonsm中的init命令在PECMD中变成了main,那pecmd中init和main在使用上有何差别呢? 毛桃那个0325中只使用了INIT命令。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-28 13:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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