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命令。