goffi 发表于 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 编辑 ]

goffi 发表于 2007-4-5 09:49:50

原帖由 lxl1638 于 2007-4-4 08:44 PM 发表 http://bbs.wuyou.net/images/common/back.gif
你与本人的理解不同啊,你的意思是256MB以上内存询问用户是否设置虚拟内存,256MB以下强制设置虚拟内存?可以这样:


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

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

lxl1638 发表于 2007-4-5 11:37:58

原帖由 goffi 于 2007-4-5 09:27 AM 发表 http://bbs.wuyou.net/images/common/back.gif
求助
似乎FIND命令无法在命令群组中隐藏运行批命令,如何解决??
比如:
FIND MEM>256,EXEC !XXXX.CMD       不能正常运行XXXX.CMD,在FIND命令中!已经定义成表达式不成立是调用的命令群组
FIND MEM>256,EXEC X ...

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


FIND MEM>256,EXEC @XXXX.CMD

goffi 发表于 2007-4-5 11:40:27

谢谢
好久没关注这个帖子了
人懒,不好意思

lxl1638 发表于 2007-4-5 11:44:46

要注意的是,凡属隐藏运行的程序或P处理都要能自动退出,因为隐藏后无法与用户交互。

goffi 发表于 2007-4-5 12:07:56

原帖由 lxl1638 于 2007-4-5 11:44 AM 发表 http://bbs.wuyou.net/images/common/back.gif
要注意的是,凡属隐藏运行的程序或P处理都要能自动退出,因为隐藏后无法与用户交互。

OK,测试一下
谢谢提醒

lwf8888 发表于 2007-4-5 16:36:49

PECMD的环境变量名称长度限制是多少?

mackyliu 发表于 2007-4-5 16:55:02

2.68版更新到02.16的YY版里去,有问题.进入不了载入界面,更别说桌面了.按要求改行尾注释为`也不行,彻底删除行尾注释都不行.不知何解.

lxl1638 发表于 2007-4-5 18:12:24

原帖由 mackyliu 于 2007-4-5 04:55 PM 发表 http://bbs.wuyou.net/images/common/back.gif
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
////////////////////////////////////////////////////////////////
;配置文件结束

lwf8888 发表于 2007-4-5 19:55:42

PECMD的环境变量名称长度限制是多少?

lxl1638 发表于 2007-4-5 20:37:56

配置文件中的环境变量展开后(如%SystemRoot%展开后为X:\I386),一行文件的长度不要超过1K。
文件目录名的长度不要超过256个字符。

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

应该够用了。

lwf8888 发表于 2007-4-5 22:53:20

够用了。主要是为了嵌套使用。

xiazaia 发表于 2007-4-7 11:51:08

MESS里的环境变量 %YESNO%
可不可以这样处理
默认设置为一个值 YES或者NO都无所谓了
当选择[是]时,值为 YES
当窗口超时自动关闭时不去改变这个变量的值
当选择[否]时,值为 NO

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

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

lwf8888 发表于 2007-4-7 20:22:27

原帖由 xiazaia 于 2007-4-7 11:51 AM 发表 http://bbs.wuyou.net/images/common/back.gif
MESS里的环境变量 %YESNO%
可不可以这样处理
默认设置为一个值 YES或者NO都无所谓了
当选择[是]时,值为 YES
当窗口超时自动关闭时不去改变这个变量的值
当选择[否]时,值为 NO

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

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

lwf8888 发表于 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 编辑 ]

lwf8888 发表于 2007-4-7 20:31:53

envi$ 有错误。
在pecmd.ini里设置 envi $instroot=c:\winpe。启动后通过gui可看到。在cmd里看不到。
问题:启动后如果执行 pecmd load filename.ini,那么filename里是不能引用 $instroot的。。。。

lxl1638 发表于 2007-4-7 20:44:12

你看说明,都说过要在Windows的启动项中用无参数的Envi命令刷新这些环境变量才生效。

lxl1638 发表于 2007-4-7 20:55:09

原帖由 xiazaia 于 2007-4-7 11:51 AM 发表 http://bbs.wuyou.net/images/common/back.gif
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 编辑 ]

lwf8888 发表于 2007-4-7 22:11:09

//漏洞
指令: // %systemroot% 执行时会变成 // x:\winpe 即 在注释里解释了环境变量
问题://后面如果有无效指令时会导致 ini 文件无法执行到最后一条指令,至于死在何处,目前无法调试。

lwf8888 发表于 2007-4-7 22:20:43

原帖由 lxl1638 于 2007-4-7 08:55 PM 发表 http://bbs.wuyou.net/images/common/back.gif



准备这样处理:
:victory: :victory: :victory: :victory:

lwf8888 发表于 2007-4-7 22:31:10

原帖由 lxl1638 于 2007-4-7 08:44 PM 发表 http://bbs.wuyou.net/images/common/back.gif
你看说明,都说过要在Windows的启动项中用无参数的Envi命令刷新这些环境变量才生效。

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

lxl1638 发表于 2007-4-7 22:40:49

原帖由 lwf8888 于 2007-4-7 10:31 PM 发表 http://bbs.wuyou.net/images/common/back.gif


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


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

xiazaia 发表于 2007-4-7 22:50:29

原帖由 lxl1638 于 2007-4-7 08:55 PM 发表 http://bbs.wuyou.net/images/common/back.gif



准备这样处理:
谢谢 期待新版本……

lwf8888 发表于 2007-4-7 23:00:21

原帖由 lxl1638 于 2007-4-7 10:40 PM 发表 http://bbs.wuyou.net/images/common/back.gif



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

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

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

lwf8888 发表于 2007-4-7 23:15:16

TEXT 漏洞
TEXT 后文字如果有非法命令或变量也会死机
如:TEXT 显示LOGO...结果提示LOGO会被解释为命令,结果是没有LOGO显示。:L :L

lxl1638 发表于 2007-4-7 23:30:42

更新到2.71版。

lxl1638 发表于 2007-4-7 23:33:00

原帖由 lwf8888 于 2007-4-7 11:15 PM 发表 http://bbs.wuyou.net/images/common/back.gif
TEXT 漏洞
TEXT 后文字如果有非法命令或变量也会死机
如:TEXT 显示LOGO...结果提示LOGO会被解释为命令,结果是没有LOGO显示。:L :L

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

icdmain 发表于 2007-4-7 23:44:58

呵呵,第一个顶2.71版拉

lxl1638 发表于 2007-4-7 23:47:19

原帖由 icdmain 于 2007-4-7 11:44 PM 发表 http://bbs.wuyou.net/images/common/back.gif
呵呵,第一个顶2.71版拉

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

waiting 发表于 2007-4-8 01:21:40

记得Yonsm中的init命令在PECMD中变成了main,那pecmd中init和main在使用上有何差别呢? 毛桃那个0325中只使用了INIT命令。
页: 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 27 28 29 30
查看完整版本: [PECMD X86 & X64 V4.0.2011.0501版] WinPE命令解释程序 & WinPE登录命令。