无忧启动论坛

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

外置程序,想删就删,想加就加,老九等高手批改一下

[复制链接]
61#
发表于 2009-4-27 08:25:38 | 只看该作者

回复 #59 chenall 的帖子

我想这个大部分人制作过PE的人都应该想过这个问题了,现在确实是需要一个统一的解决方案,最好大家都来说说意见,如果能理解的话,我来定这个标准!然后,大家在修改!

我现在有两个简单的想法:
      一,沿用现在的PETOOLS目录,采用新的快捷方式建立方法,上面老九大哥已经给出了脚本,很实用,很方便;只需在完善多程存在的问题即可!比如:分类存放的大多是单文件版,至于不是但文件版的,可考虑把主程序建成和他所在目录相同名字,这样也很方便;或者用ini文件来定义加载,启动,这样更灵活!

      二,自动搜索,所有的二级目录,查找包含link命令的ini配置文件,然后只使用里面的link行,这样也可以简单的实现外置共享,但是兼容性,和速度上,可能会有些影响!



第一个方法里面,可以考虑在每个不需要全部建立快捷方式的文件夹内,加上一个特定文件名的ini,例如:Init.ini 。先用判断,是否含有这个文件,凡是包含这个配置文件的文件夹,就加载ini中的特定设置。不包含此文件的文件夹,就按当前的开放结构建立快捷方式,或者,建立可执行文件的快捷方式:exe,wim,cmd,bat,……


另外,楼主的特殊文件夹快捷方式的方案,也不错,可以一起整合,这样更方便,希望大侠拍砖

[ 本帖最后由 WLDNA 于 2009-4-27 08:35 编辑 ]
回复

使用道具 举报

62#
发表于 2009-4-27 09:22:16 | 只看该作者
  1. //`COOLG-YY/////////////////////////////////////////////////
  2. _SUB cre_dir
  3.   TEAM NAME SofName=%Promn%|FEXT PN=%Promn%
  4.   FIND $%pn%=EXE,%dk%!FIND $%pn%=WIM,%dk%
  5.   FIND $%pn%=CMD,%dk%!FIND $%pn%=BAT,%dk%
  6. _END
  7. _SUB Dk_link
  8. TEAM ENVI b1=LINK %Desktop%\%SofName%,%Promn%|ENVI b2=LINK %QuickLaunch%\%SofName%,%Promn%
  9. FIND $%todir%=桌面,%b1%!call Qk_link
  10. _END
  11. _SUB Qk_link
  12. FIND $%todir%=快捷工具栏,%b2%!call Pro_link
  13. _END
  14. _SUB Pro_link
  15. LINK %Programs%\%todir%\%SofName%,%Promn%
  16. _END
  17. _SUB spolink
  18. LINK %Programs%\%todir%\%dudir%\%SofName%,%Promn%
  19. _END
  20. _SUB Created_Menu
  21. FORX %CurDir%\%todir%\*.*,Promn,0,TEAM ENVI dk=CALL Dk_link|CALL cre_dir
  22. FORX @%CurDir%\%todir%\*,PBC,0,TEAM NAME dudir=%PBC%|CALL created_dudir
  23. _END
  24. _SUB created_dudir
  25. FORX %CurDir%\%todir%\%dudir%\*.*,Promn,0,team envi dk=call spolink|CALL cre_dir
  26. _END
  27. ENVI Programs=%USERPROFILE%\「开始」菜单\程序
  28. ENVI Desktop=%USERPROFILE%\桌面
  29. ENVI QuickLaunch=%USERPROFILE%\Application Data\Microsoft\Internet Explorer\Quick Launch
  30. CALL $%CurDir%\WimShExt.DLL
  31. PATH %RamDisk%\WimProgram
  32. REGI HKCU\SOFTWARE\WimTool\AutoMountPath=%RamDisk%\WimProgram
  33. LINK %Desktop%\WimTool,%CurDir%\WimTool.EXE
  34. TEXT 创建外置程序快捷方式……#0x00FFC0 L20 T480 R720 B580 *
  35. FORX @%CurDir%\*,pab,0,TEAM NAME todir=%pab%|CALL Created_Menu
  36. LINK %Desktop%\加载外部配置,pecmd.exe,load \%CurDir%\winpe.ini,,shell32.dll#19
  37. WALL %CurDir%\WALLLOGO.JPG
  38. TEAM ENVI b1=|ENVI b2=
  39. //`桐城二中小也YY版//////////////////////////////////////////
复制代码


COOLG 的,我提取出来了,也不错的
回复

使用道具 举报

63#
 楼主| 发表于 2009-4-27 15:28:33 | 只看该作者
在无忧这个大家庭里,让人感到温暖!我发这么烂帖子,竟受这么多大大的关注,提出许多宝贵的建议!
当时我在搞这个配置文件时,就各人的PE使用习惯,外置程序链接,不外乎三个地方:桌面,开始菜单和快捷工具栏,
加入两个特殊文件夹(桌面,快捷工具栏),就是想把复杂问题简单化.也方便菜菜们
我的配置文件迟迟不发,就是想抛砖引玉,果然九大大出手了,好高兴!!!
呵呵,我还要说:pecmd的命令,真的好强大,forx不输cmd的for命令!
最后还是要靠无忧大大们的努力,不断完善!
回复

使用道具 举报

64#
发表于 2009-4-27 15:30:16 | 只看该作者
比如,将需要建立快捷方式的文件名添加个前缀?
PE_qq.exe
这个pe_就是识别用的前缀,不知会不会影响程序的运行
回复

使用道具 举报

65#
发表于 2009-4-27 15:31:08 | 只看该作者
那个大块头的op.wim压缩来压缩去,真的很烦嘞
回复

使用道具 举报

66#
发表于 2009-4-27 15:32:49 | 只看该作者
为了各依别人的爱好,可以在INI文件开头里,定义自己的前缀
再依这个变量进行查找就可以满足众人的口味了。
回复

使用道具 举报

67#
 楼主| 发表于 2009-4-27 15:35:10 | 只看该作者
楼上这个建议好,程序执行时这个我想可能问题不大,搜索归搜索,链接时过滤一下就行了.
另外,我也提个建议,就是内核能完成的事,最好是内核内完成,让外置配置文件完成,可能有点费时间.

[ 本帖最后由 coolg 于 2009-4-27 15:46 编辑 ]
回复

使用道具 举报

68#
发表于 2009-4-27 15:38:08 | 只看该作者
希望水老头更新PE时,使用这种架构的外置了
回复

使用道具 举报

69#
发表于 2009-4-27 15:40:15 | 只看该作者
不过,怎么说来,修改程序的文件名总感觉不是好办法,楼楼上的说的在目录下加个ini来读取是个好办法。只是速度上不知可行否
回复

使用道具 举报

70#
 楼主| 发表于 2009-4-27 15:51:06 | 只看该作者
原帖由 secowu 于 2009-4-27 15:40 发表
不过,怎么说来,修改程序的文件名总感觉不是好办法,楼楼上的说的在目录下加个ini来读取是个好办法。只是速度上不知可行否

只要定下一个统一的标识,链接问题不大,搜索目录下ini,可能有点影响速度.
回复

使用道具 举报

71#
发表于 2009-4-27 16:58:37 | 只看该作者
原帖由 WLDNA 于 2009-4-27 08:25 发表
我想这个大部分人制作过PE的人都应该想过这个问题了,现在确实是需要一个统一的解决方案,最好大家都来说说意见,如果能理解的话,我来定这个标准!然后,大家在修改!

我现在有两个简单的想法:
      一, ...


我也来说一说:
1、要我同意你们的这种做法的话,我同意第一个方案,主程序与其目录同名,搜索时可以先找完全同名的,没有时再找部分同名的,实在没有就找出所有的。这样做出的快捷方式应该有90%会符合我们的预期。用INI文件来指定,虽然也不错,但与重编WIM文件没什么不同。

2、老实说我不太同意搜索建快捷方式的方法,理由如下:
①这种方式究竟是给别人用的还是给自己用的?如果是给自己用的,我就应该知道这个程序的作用和主程序是什么,如果临时用一下,直接在程序原来的位置运行不就行了?如果以后总是要用到的,将之做到WIM中不是更好吗?如果是给别人用的就更应该打成WIM包了,你总不能将一个7z或RAR文件发布给别人,叫他使用时再解到某个地方等等……
②老实说这种探索出来的快捷方式没有什么说明的,直接就是文件名,而现在的软件的主程序95%是用的英文名,找一个工具眼睛都看花了,还不如直接去文件夹中找文件,特别是将所有的子目录中的可执行文件都搜出来,稍微复杂一点的软件就更不得了,一大堆的快捷方式……。
③病毒控制的问题。肯定是没有WIM包那么安全的。
④搜索的时间开销问题。
⑤放置目录名统一的问题。***也没下文,究竟取个什么目录名……
⑥搜索的级别问题。显然,搜索所有子目录是不合适的,究竟应该搜索到第二级还是第三级合适?

……我觉得还有很多问题……

结论:大家不必浪费精力了!

我觉得目前合适的方案是:外置以WIM为主,以开放式构架的PETOOLS目录作为补充(不搜索快捷方式而是直接以desktop.ini文件来实现菜单的)
回复

使用道具 举报

72#
发表于 2009-4-27 17:08:36 | 只看该作者
原帖由 secowu 于 2009-4-27 15:40 发表
不过,怎么说来,修改程序的文件名总感觉不是好办法,楼楼上的说的在目录下加个ini来读取是个好办法。只是速度上不知可行否


使用INI的方式我的PE里面就已经在使用了.速度是比较慢.
程序目录下的UserLoad.cmd就是自动加载各个目录下的INI文件的.后台执行,所以可能进入PE以后开始菜单上的快捷方式还没有全部出来.
回复

使用道具 举报

73#
发表于 2009-4-27 17:43:12 | 只看该作者
本人也来说两句。
给外置程序建立快捷方式,以往是一个程序使用一条LINK命令,增减或改动程序时就要一条一条地修改LINK命令,这帖(还有另一个主题)提出了"想删就删,想加就加",自动给外置程序建立快捷方式的方法,标准是很难统一的,各人爱好不同啊,这是其一。
其二,自动建立快捷方式,关键是要让别人看到快捷方式的名称,就能知道这个快捷方式的功能和用途,建议外置程序中的目录名和程序名尽可能中文名,个别不能使用中文名的就用英文名。这样别人看到快捷方式的名称就明白它的用途了。
其三,本人所用的方法对于EXE、WIM(若注册了WimTool)文件,快捷方式上都可以显示文件的图标,对于CMD、BAT文件就无法定制图标了,这是一个不足。
本人所给出的INI无非是想:不用去理会外置程序有什么程序,只要你丢程序进去,都能自动建立对应的快捷方式,去掉了一条一条地写LINK命令的麻烦。
回复

使用道具 举报

74#
发表于 2009-4-27 17:44:15 | 只看该作者
原帖由 chenall 于 2009-4-27 17:08 发表
使用INI的方式我的PE里面就已经在使用了.速度是比较慢.

INI也是可以放到后台执行的。
回复

使用道具 举报

75#
发表于 2009-4-27 18:34:59 | 只看该作者
一条条link是麻烦,但如何做到软件分类呢
回复

使用道具 举报

76#
发表于 2009-4-27 19:18:19 | 只看该作者
或许可以根据目录名来创建快捷方式.
参考.
如果这个目录下面有EXE,BAT,CMD,WIM文件就使用这个目录名作为快捷方式名称(不再找下一级目录).如果没有就作为一个分类继续搜索下一级.

快捷方式指向,优先级WIM>CMD>BAT>EXE.(查找目录下所有的WIM,CMD,BAT,EXE文件).
图标使用快捷方式目标同名的.ICO文件或.EXE文件,如果没有就默认自身,优先级同名.ICO>同名.EXE

由于一般使用PECMD来编写脚本,所以还可以再加一个特权.
如果这个目录下有指定的PECMD脚本文件就直接执行这个脚本文件,并且不再找下一级目录.

[ 本帖最后由 chenall 于 2009-4-27 19:21 编辑 ]
回复

使用道具 举报

77#
发表于 2009-4-27 19:45:16 | 只看该作者
原帖由 secowu 于 2009-4-27 18:34 发表
一条条link是麻烦,但如何做到软件分类呢


软件分类现在用到的也就下图中文名目录的那些吧。。应该分类不是问题。

2009-4-27 19-58-59.jpg (26.27 KB, 下载次数: 75)

2009-4-27 19-58-59.jpg
回复

使用道具 举报

78#
发表于 2009-4-27 20:10:44 | 只看该作者
原帖由 chenall 于 2009-4-27 19:18 发表
或许可以根据目录名来创建快捷方式.
参考.
如果这个目录下面有EXE,BAT,CMD,WIM文件就使用这个目录名作为快捷方式名称(不再找下一级目录).如果没有就作为一个分类继续搜索下一级.

快捷方式指向,优先级WIM>C ...


是一个比较好的解决办法!
回复

使用道具 举报

79#
发表于 2009-4-28 08:18:52 | 只看该作者
这帖子掉得好快。。
回复

使用道具 举报

80#
发表于 2009-4-28 09:45:22 | 只看该作者
使用中文目录想法是不错,不过有些软件是不可以使用中文目录的,这是其中一个局限性。
回复

使用道具 举报

81#
发表于 2009-4-28 10:57:13 | 只看该作者
我说个想法,就是在现有的PETOOLS的开放结构的基础上,添加,可随意放置文件夹,及非但文件版软件,并按楼主的想法,添加固定文件夹:例如桌面,快捷启动,等等!可方便用户自行管理,不知大家意见如何?呵呵
回复

使用道具 举报

82#
发表于 2009-4-28 12:42:42 | 只看该作者
PETOOLS的功能是很强的,楼主的要求基本都能实现。多级目录也支持,WIM、CMD、EXE等也都支持,真不明白各位忙活的有什么先进,桌面一大片图标我不喜欢,我自己的系统也就只在桌面留几个图标。快速启动对PE来说也没什么意义,默认只有三个。一般都是在程序里调用。金手指的音速启动办法我倒是很看好,就是不能防毒。大家这样的方案也只能用在1.0或1.5中,2.0以上的PE根本就用不上。谈不上共享外置。理想的办法是要和3.0共享外置,不过问题多多,真希望有高手能出手下解决这个问题。目前1.0的还是用PETOOLS就行了。
回复

使用道具 举报

83#
发表于 2009-4-28 13:46:06 | 只看该作者
原帖由 xiaolongkun0 于 2009-4-28 09:45 发表
使用中文目录想法是不错,不过有些软件是不可以使用中文目录的,这是其中一个局限性。

不能用中文名的就用英文名,不能用英文名的软件是少数(可以加个说明),相信大家都知道.
回复

使用道具 举报

84#
发表于 2009-4-28 14:38:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

85#
发表于 2009-4-28 16:33:01 | 只看该作者
不错的方法  希望高手yy个 更 好的
回复

使用道具 举报

86#
发表于 2009-4-28 17:05:58 | 只看该作者
原帖由 nn2nn 于 2009-4-28 14:38 发表

高,实在是高,PECMD也可以递归调用.


在高级语言中实现递归是很容易的事,但在PECMD这类脚本中实现递归写起来有点麻烦,这个FORX命令的文本源码有80K之大。
回复

使用道具 举报

87#
发表于 2009-4-28 17:06:07 | 只看该作者
标准还没有个方案出来,供大家投票选择,
回复

使用道具 举报

88#
发表于 2009-4-29 08:28:22 | 只看该作者
coolg 大侠,我在你的基础上修改了一下,不知对不对,请指导:

[ 本帖最后由 hwh132 于 2009-4-29 17:15 编辑 ]

随加随删软件.rar

2.7 KB, 下载次数: 98, 下载积分: 无忧币 -2

回复

使用道具 举报

89#
 楼主| 发表于 2009-4-29 11:18:09 | 只看该作者

回复 #88 hwh132 的帖子

呵呵,整得好,赞一个!又有新进展!
我有个提议:
1.最好Y老九的,代码更精练.
2.程序文件夹最好不要有限制,让大家随意放置,自由度更高.
以上建议,不知妥否?希望你继续努力,呵呵,引用水哥一句话:造福无忧!
另外说一声:大侠不敢当.

[ 本帖最后由 coolg 于 2009-4-29 11:20 编辑 ]
回复

使用道具 举报

90#
发表于 2009-4-29 13:33:18 | 只看该作者
原帖由 coolg 于 2009-4-29 11:18 发表
呵呵,整得好,赞一个!又有新进展!
我有个提议:
1.最好Y老九的,代码更精练.
2.程序文件夹最好不要有限制,让大家随意放置,自由度更高.
以上建议,不知妥否?希望你继续努力,呵呵,引用水哥一句话:造福无忧!
另外 ...





coolg大侠,太谦虚了。

关于“2.程序文件夹最好不要有限制,让大家随意放置,自由度更高.”的问题,只要是下面语句更改后就可以了:

FDRV CurPath=%CurDir%\WINPE.INI
`LINK !%Desktop%\启用随加随删软件,%CurPath%\随加随删软件\setup.cmd,,shell32.dll#24
LINK %Desktop%\启用随加随删软件,PECMD.EXE,LOAD %CurPath%\随加随删软件\Main.ini,shell32.dll#24




只要将 “%CurPath%\xx\随加随删软件\” 路径更改后即可。

[ 本帖最后由 hwh132 于 2009-4-29 17:17 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-24 18:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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