ENVI VD=PETOOLS
ENVI VP=B
IFEX %VP%:\%VD%,CALL MAKELINK
ENVI VP=C
IFEX %VP%:\%VD%,CALL MAKELINK
ENVI VP=D
IFEX %VP%:\%VD%,CALL MAKELINK
//......
/////////////////
//从B到Z,如何优化?
_SUB MAKELINK
ENVI V0=%USERPROFILE%\「开始」菜单\%VP%盘工具
LINK %V0%\target,%VP%:\%VD%
TEAM FILE Desktop.ini=>%V0%|SITE %V0%\*.*,+A+H+S|SITE %V0%,+R+S
_END 呵呵,PECMD.EXE对目录存在的判断存在BUG(整理源码是删去了一行对目录存在的判断),周未更正。
将(蓝色部分):
_SUB MAKELINK
ENVI V0=%USERPROFILE%\「开始」菜单\%VP%盘工具
LINK %V0%\target,%VP%:\%VD%
TEAM FILE Desktop.ini=>%V0%|SITE %V0%\*.*,+A+H+S|SITE %V0%,+R+S
_END
要实现的功能做成一个.INI文件,用PECMD.EXE的 Load 命令加载这个.INI文件,Load 命令能自动 搜索指定目录名中的.INI文件,找到这个.INI文件也就找到这个目录,%CurDrv%即为该目录所分配的盘符,其它都好办了。 Load 命令能自动 搜索指定目录名中的.INI文件
但LOAD命令只会加载一个吧,
我想的是可以多加呀,也不想做多个INI文件。 PECMD缺少循环命令。
同时建议IFEX可以判断注册表。 原帖由 nn2nn 于 2007-11-8 12:10 PM 发表 http://bbs.wuyou.net/images/common/back.gif
PECMD缺少循环命令。
同时建议IFEX可以判断注册表。
越搞越复杂了,你的要求是读取注册表中某个键名的数据?
但数据类型有多种(好象有5种吧),搞起来很复杂,要完成这个功能,PECMD得设计多一条新命令----比较数值(以前的命令只能比较字符串)。
回复 #1140 lxl1638 的帖子
可以只考虑键名(或者项)的存在。因为只用于判断。
绝大多数是用于判断某个工具是否初始化了。
[ 本帖最后由 nn2nn 于 2007-11-8 12:38 PM 编辑 ] 原帖由 nn2nn 于 2007-11-8 12:07 PM 发表 http://bbs.wuyou.net/images/common/back.gif
Load 命令能自动 搜索指定目录名中的.INI文件
但LOAD命令只会加载一个吧,
我想的是可以多加呀,也不想做多个INI文件。
你的意思是多加什么? 将多个 WIM 链接到一个目录?
PECMD.EXELoad 一个 INI 时会生产%CurDrv%的内部环境变量,
你可以在这个 INI 内,使用%CurDrv%这个环境变量进行其它操作。
如下面反复调用 MAKELINK ,
将 %CurDrv%\PETools\磁盘工具
%CurDrv%\PETools\系统工具
这两个目录链接到「开始」菜单下。
_SUB MAKELINK
ENVI V0=%USERPROFILE%\「开始」菜单\%VN%
LINK %V0%\target,%VP%
TEAM FILE Desktop.ini=>%V0%|SITE %V0%\*.*,+A+H+S|SITE %V0%,+R+S
_END
ENVI VN=磁盘工具
ENVI VP=%CurDrv%\PETools\%VN%
CALL MAKELINK
ENVI VN=系统工具
ENVI VP=%CurDrv%\PETools\%VN%
CALL MAKELINK
[ 本帖最后由 lxl1638 于 2007-11-8 12:51 PM 编辑 ] 原帖由 nn2nn 于 2007-11-8 12:31 PM 发表 http://bbs.wuyou.net/images/common/back.gif
可以只考虑键名(或者项)的存在。
因为只用于判断。
绝大多数是用于判断某个工具是否初始化了。
不管3721,初始化一次算了。
回复 #1142 lxl1638 的帖子
想用一个INI文件,加多个目录连接到菜单。从B到Z盘搜索,有PETOOLS目录的就加入,否则就跳过。
如果判断文件存在修正了。
就想精简下,FOR B TO Z
如果不能FOR写下也无所谓。
没什么大问题了,只等判断文件存在修正。
[ 本帖最后由 nn2nn 于 2007-11-8 01:11 PM 编辑 ] 翻新了,说明见1楼。。。。。。。。。。。 未必要显示隐藏分区才能用里面的文件,分配的盘符可以不是字母 看来
PE外置形式——开放式PE外置架构设想
就快可以实现了。
不管原PE是否取用这架构,执行一个CMD就可以实现了,比PE本地化更灵活点。 建议在托盘图标的菜单中加入为Usb磁盘分配盘符,和为隐藏分区分配盘符,这样就方便多了 原帖由 yd21 于 2007-11-12 12:09 AM 发表 http://bbs.wuyou.net/images/common/back.gif
建议在托盘图标的菜单中加入为Usb磁盘分配盘符,和为隐藏分区分配盘符,这样就方便多了
自己根据 PECMD.EXE 的 SHOW 命令 YY 托盘菜单。SHOW 本人还要完善一下,计划是这样:
┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ │格式│SHOW [硬盘号|标识符][:分区号][,盘符] ┃
┃ ├──┼───────────────────────────────────────────────┨
┃ │功能│显示系统存在的移动硬盘或固定硬盘的隐藏分区,并给这些分区分配盘符。 ┃
┃ ├──┼───────────────────────────────────────────────┨
┃ │参数│■硬盘号: 本机中存在的硬盘,"0"表示"hd0","1"表示"hd1","2"表示"hd2",依次类推; ┃
┃ │ │■标识符: 表示硬盘类型的标识,固定硬盘用"F"表示,移动硬盘用"R"表示,标识符与硬盘号只取其一; ┃
┃ │ │■分区号: "0"表示所有还没指派盘符的分区,"1"表示第1分区,"2"表示第2分区,依次类推; ┃
┃SHOW│ │■盘 符: 用字母"C~Z"表示(不带":"),省略"盘符"或设置盘符不合理时由 PECMD.EXE 自动分配盘符。 ┃
┃ ├──┼───────────────────────────────────────────────┨
┃ │示例│SHOW 0:1,H 或 SHOW R:1,U 或 SHOW F:0 ┃
┃ ├──┼───────────────────────────────────────────────┨
┃ │备注│※某些机型在WinPE启动后已经可以识别移动硬盘,但没有为移动硬盘指派盘符,可以通过 SHOW 命令的 ┃
┃ │ │"R"标识符为移动硬盘分配盘符,示例2表示给"移动硬盘的第1分区"指派为盘符"U:"; ┃
┃ │ │※示例1表示"硬盘0隐藏分区1"指派为盘符"H:",示例3表示自动为"固定硬盘的所有隐藏分区"指派盘符; ┃
┃ │ │※要删除指定的盘符可以通过 SUBJ 命令完成,用法请参照 SUBJ 命令的说明。 ┃
┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
省略所有参数时与MM的功能一样。
[ 本帖最后由 lxl1638 于 2007-11-12 01:15 AM 编辑 ]
回复 #1149 lxl1638 的帖子
能不能把所有U盘的第一分区的盘符指定为U。(不是手动) 好强,SHOW
收下了,一直在寻找解决方案。现在终于可以很好的解决了。 谢了,终于解决隐藏分区了 原帖由 oym2007 于 2007-11-12 10:37 AM 发表 http://bbs.wuyou.net/images/common/back.gif
谢了,终于解决隐藏分区了
今天将传上 V2.8.1111.120完善版,给 SHOW 命令加上了丰富的参数(可以 SHOW 出指定的隐藏分区),这个版本不但可以载入隐藏分区中的WIM外置映像,且启动后可保持原隐藏分区的隐藏属性不变,即WinPE的IMG内核和WIM外置都可以部署在隐藏分区,WinPE启动后这个分区仍然是隐藏的。 希望同时给出INI文件中的调用命令行参考,这样大家都不必走弯路。 红叶大大师,放心,这次同时会上传32M_U盘版WinPE演示。 上传完毕,传到了置顶 FTP2 本人 ID 目录中,文件名为 PECMD演示版WinPE.RAR ,压缩包内有说明文件,请先看说明。
本主题 PECMD.EXE 的上传和更新晚上再搞,本主题1楼的PECMD还没有这样的功能。
[ 本帖最后由 lxl1638 于 2007-11-12 12:52 PM 编辑 ] 原来是自己没完整仔细看,才知道托盘图标可以自己YY,呵呵,搞定了,Very Good! 好东西不错的说 PECMD-V2.8.1111.120版再次更新,已上传到本主题的1楼,演示用的WinPE已上传到置顶FTP2本人ID目录中,本次更新的PECMD已解决了将WIM外置包部署到隐藏分区的问题。 原帖由 lxl1638 于 2007-11-12 05:36 PM 发表 http://bbs.wuyou.net/images/common/back.gif
PECMD-V2.8.1111.120版再次更新,已上传到本主题的1楼,演示用的WinPE已上传到置顶FTP2本人ID目录中,本次更新的PECMD已解决了将WIM外置包部署到隐藏分区的问题。
下载演示包在虚拟机中启动,发现SUBJ命令,把C:盘也隐藏了(PE放在C:盘) 本来就是这样的,你也不按说明部署(要求你把PE和WIM外置包部署到隐藏分区)。
这个演示的目的就是启动后隐藏WIM外置包所在的分区,你把它放在哪个分区,就隐藏哪个分区。
但你没有按说明做,把它放在C:盘,自然C:盘也被隐藏了,这很正常。 原帖由 lxl1638 于 2007-11-12 09:38 PM 发表 http://bbs.wuyou.net/images/common/back.gif
本来就是这样的,你也不按说明部署(要求你把PE和WIM外置包部署到隐藏分区)。
这个演示的目的就是启动后隐藏WIM外置包所在的分区,你把它放在哪个分区,就隐藏哪个分区。
但你没有按说明做,把它放在C:盘,自 ...
我的意思是说,PECMD应主动认别隐藏分区代码,用户分区没有隐藏就不要隐藏它。 PECMD的特色是高度的自由,这些功能已经存在了,只是你没有认真看它的说明。
建议你慢慢理解PECMD 每一条命令的功能、参数及它的用途。
你把内部配置文件中的这一行:
SUBJ %WimDrv%
删掉,就是你要的了---- 一个分区是否需要隐藏,完全由你自己来决定,PECMD就是高度自由,一切由用户自己设置、自己定义,这就是它的特色。 原帖由 lxl1638 于 2007-11-13 12:50 PM 发表 http://bbs.wuyou.net/images/common/back.gif
PECMD的特色是高度的自由,这些功能已经存在了,只是你没有认真看它的说明。
建议你慢慢理解PECMD 每一条命令的功能、参数及它的用途。
你把内部配置文件中的这一行:
SUBJ %WimDrv%
删掉,就是你要的 ...
谢谢大师的回答,可能是我没说清楚,我想说的是PE的通用性,人人去修改INI文件,对普及不利,最好是SHOW能自动识别 再度在虚拟机中测试演示包,将整个PE放在最后分区并隐藏,启动PE后,整个硬盘全不见了
去掉 SUBJ 后 硬盘可见