无忧启动论坛

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

0917更新: PE专用,搜索PETOOL GUI版(支持WIN7 PE )

  [复制链接]
跳转到指定楼层
1#
发表于 2010-4-18 19:29:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1.在自己的本地硬盘或者U盘根目录建立 PETOOLS 文件夹,将单独程序或文件夹复制到PETOOLS。

2.如PETOOLS文件夹或其子文件中存在 SETUP.CMD 或SETUP.BAT、SETUP.INF、*.REG及*.WIM文件,将根据所选自动执行的项目自动执行。

3.点选映射.WIM文件后,将会把搜索到的.WIM文件映射到“Y:\PETOOLS_WIM\与.WIM的文件同名的文件夹”中。如果PE中没有Y:盘,将自动建立一个虚拟磁盘Y:\,并创 建“开始\拓展程序目录\PETOOLS_WIM\所有映射的文件夹及其子目录与文件”的快捷方式。

4.点击搜索后,开始菜单的快捷将改变为“清除PETOOLS”如果搜索时点选了映射.WIM文件,执行清除命令时将同时卸载已经映射的相关.WIM文件。





0917更新: 支持了WIN7 PE,将“拓展程序目录”名称改为“PETOOLS 目录”
    PETOOLS.rar (3.31 KB, 下载次数: 1362)   
在.INI下,根据文件夹是否存在简单判断,,,,反正PE1.下,决对不会有 X:\ProgramData,

这是WIN7PE下的截图:哈哈,我这几天也在弄WIN7PE,除网络驱动相关外,其他功能部署都和我的网虫PE系列差不多。 不到90兆。




使用方法:
1.把附件中的整个PETOOLS文件夹放到X:\WXPE中,用PECMD LOAD X:\WXPE\PETOOLS\ 搜索petools.ini(执行后将直接弹出PETOOLS搜索选项窗口。)
2.或者解压到任何目录后,用PECMD LOAD PETOOLS里的MAIN.INI(执行后将在开始菜单建立PETOOLS搜索快捷方式。)



PE版 IMDISK 下载

此GUI版的代码源于: chenall 大的第三版 搜索PETOOLS目录

搜索petools.ini
————————————————————————————————————————————————
ENVI TOCD=%CurDir%
envi FolderPath=Y:\PETOOLS_WIM
ifex X:\ProgramData,TEAM envi ver=nt6|envi ShortcutsName=%Programs%\PETOOLS 目录\PETOOLS_WIM!envi ShortcutsName=%StartMenu%\PETOOLS 目录\PETOOLS_WIM
call @pt
_SUB pt,w345h330,PETOOLS使用说明:,,Shell32.dll#22,5,
MEMO Memo1,l10t15w318h135,,%CurDir%\petools使用说明.txt,0
grou group1,l10t165w220h115,▉ 请选择要自动执行的项目:
CHEK Check1,l30t185w155h25,SETUP.CMD 与 SETUP.BAT,,0,
CHEK Check2,l30t205w85h25,SETUP.INF,,0,
CHEK Check3,l120t205w55h25,*.REG,,0,
CHEK Check4,l30t225w185h25,映射 *.WIM 到 Y:\PETOOLS_WIM,CALL MI,0,
CHEK Check5,l30t245w185h25,执行映射中的 MAIN.INI,,-2,
ITEM sbutton5,l255t195w60h25,开始搜索,call go_pt
ITEM sbutton6,l255t235w60h25,取消搜索,kill \PETOOLS使用说明:,
grou group3,l-5t285w345h10,
_END
_SUB go_pt,
ENVI @sbutton5.ENABLE=0
ENVI @sbutton6.ENABLE=0
find $%Check1.check%=1,envi setupyn=y!envi setupyn=n
find $%Check2.check%=1,envi infyn=y!envi infyn=n
find $%Check3.check%=1,envi regyn=y!envi regyn=n
find $%Check4.check%=1,TEAM CALL set_y|envi wimyn=y!envi wimyn=n
find $%Check5.check%=1,envi wimmain=y!envi wimmain=n
FORX @\PETOOLS,TOOLS,0,EXEC !CMD /C "搜索petools.cmd %TOOLS%"
ifex %TOOLS%\,!TEAM mess 没有搜索到 PETOOLS 文件夹!@通知: #ok *0|file %FolderPath%|file %StartMenu%\PETOOLS 目录|file %Programs%\PETOOLS 目录|kill \PETOOLS使用说明:
_END
_SUB MI,
find $%Check4.check%=1,ENVI @Check5.ENABLE=1!TEAM ENVI @Check5.ENABLE=0|ENVI @Check5.check=0
_END
_SUB set_y
ifex Y:\,!RAMD ImDisk,L64,NTFS,Y:,ImDIsk
WAIT 500
     PATH %FolderPath%
     PATH %ShortcutsName%
     SITE %ShortcutsName%,+S
     WRIT %ShortcutsName%\desktop.ini,+0,[.ShellClassInfo]
     WRIT %ShortcutsName%\desktop.ini,+0,CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
     WRIT %ShortcutsName%\desktop.ini,+0,Flags=2
     SITE %ShortcutsName%\desktop.ini,+S+H
     LINK %ShortcutsName%\target,%FolderPath%
_END
EXIT
————————————————————————————————————————————————


搜索petools.cmd   
————————————————————————————————————————————————
@echo off
if "%~1"=="" goto :eof
if not defined StartMenu goto :eof
if "%~1"=="merge" goto :merge
if not exist "%~1" goto :eof
PECMD FILE %%StartMenu%%\搜索PETOOLS.lnk
PECMD LINK %%StartMenu%%\清除PETOOLS,PECMD.EXE,LOAD %TOCD%\清除petools.ini,Shell32.dll#26
SET "BASE_DIR=%~1"
SET "外置程序=外置程序_%~d1盘"
SET NT6PH=X:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
if "%ver%"=="nt6" SET "StartMenu=%NT6PH%\PETOOLS 目录"
if not "%ver%"=="nt6" SET "StartMenu=%USERPROFILE%\「开始」菜单\PETOOLS 目录"
SET "外置程序=%StartMenu%\%外置程序::=%"
SET "_TF=%WinDir%\T_PETOOLS_%base_dir:~0,1%_"
IF EXIST "%外置程序%" RD /S /Q "%外置程序%" 2>nul
:START
DEL "%_TF%*.*" 2>nul
PUSHD "%~F1"
>%_TF%LST.lst dir /s/a/b *.wim *.cmd *.bat *.exe readme*.txt 使用说明*.txt
POPD
PUSHD "%WinDir%"
for /f "usebackq delims=" %%i in (%_TF%LST.lst) do CALL :MAKE_LINK "%%i"
ECHO.EXEC !%~F0 merge "%外置程序%" >>%_TF%LNK.INI
ECHO.FILE %_TF%LNK.INI>>%_TF%LNK.INI
START PECMD LOAD %_TF%LNK.INI
PUSHD "%~F1"
if "%setupyn%"=="y" (
>"%_TF%SETUP.lst" dir /s/a/b setup.cmd 2>nul
>>"%_TF%SETUP.lst" dir /s/a/b setup.bat 2>nul
)
if "%wimyn%"=="y" (
>"%_TF%WIM.lst" dir /s/a/b *.wim 2>nul
)
if "%regyn%"=="y" (
>"%_TF%REG.lst" dir /s/a/b *.reg 2>nul
)
if "%infyn%"=="y" (
>"%_TF%INF.lst" dir /s/a/b setup.inf 2>nul
)
POPD
if exist "%_TF%WIM.lst" For /f "delims=" %%i in ('type "%_TF%WIM.lst"') do (
  pecmd.exe WAIT 500
  pecmd.exe moun %%i,Y:\PETOOLS_WIM\%%~ni
  echo moun Y:\PETOOLS_WIM\%%~ni,>>%WINDIR%\PETOOLS\unPETOOLS.ini
  if "%wimmain%"=="y" pecmd.exe load Y:\PETOOLS_WIM\%%~ni\main.ini
)
if exist "%_TF%REG.lst" For /f "delims=" %%i in ('type "%_TF%REG.lst"') do (
REGEDIT /S "%%i"
)
if exist "%_TF%INF.lst" For /f "delims=" %%i in ('type "%_TF%INF.lst"') do (
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 "%%i"
)
if exist "%_TF%SETUP.lst" For /f "delims=" %%i in ('type "%_TF%SETUP.lst"') do (
pecmd.exe exec =!cmd.exe /c "%%i"
)
DEL %_TF%*.lst
POPD
PECMD.EXE mess %~1 已经完成搜索。@搜索petools菜单 #ok *2000
PECMD.EXE kill \PETOOLS使用说明:
PECMD FIND EXPLORER.EXE,KILL EXPLORER.EXE
goto :eof
:MAKE_LINK
SETLOCAL
if "%~1"=="" goto :eof
if /i "%~n1"=="setup" goto :eof
SET ".=%~1"
SET ".=%.:&=^&%"
SET "PETOOLS=%~dpn1"
call,SET "PETOOLS=%%PETOOLS:%BASE_DIR%=%外置程序%%%"
SET "PETOOLS=%PETOOLS:&=^&%"
echo.LINK %PETOOLS%,%.%>>%_TF%LNK.INI
GOTO :EOF
:merge
PUSHD %2||GOTO :EOF
for /d %%i in ("%~2\*") do call :merge_lnk "%%i"
POPD
goto :eof
:merge_lnk
CD /D %1||GOTO :EOF
for /d %%i in ("%~f1\*") do call %0 "%%i"
CD /D %1||GOTO :EOF
set n=
for /f %%i in ('dir /a/b') do (
    if defined n goto :eof
    set n=1
)
for /f "usebackq delims=" %%i in (`dir /a/b`) do move /y "%%i" ..\
cd..&&rd %1
goto :eof

————————————————————————————————————————————————


清除petools.ini
————————————————————————————————————————————————
load %WINDIR%\PETOOLS\unPETOOLS.ini
WAIT 500
ifex X:\ProgramData,FILE %Programs%\PETOOLS 目录!FILE %StartMenu%\PETOOLS 目录
FILE %StartMenu%\清除PETOOLS.lnk
LINK %StartMenu%\搜索PETOOLS,PECMD.EXE,LOAD %CurDir%\搜索petools.ini,Shell32.dll#22
find explorer.exe,mess 拓展程序目录 已经清除完成。@清除petools菜单 #ok *2000
exec =!cmd.exe /c rd /s /q "Y:\PETOOLS_WIM"
FILE %WINDIR%\PETOOLS\unPETOOLS.ini
FIND EXPLORER.EXE,KILL EXPLORER.EXE
————————————————————————————————————————————————

[ 本帖最后由 网虫2008 于 2010-9-18 06:39 编辑 ]

评分

参与人数 2无忧币 +210 收起 理由
2010ttt + 200 我很赞同
66369 + 10 辛苦制作.

查看全部评分

57#
发表于 2014-11-17 14:37:47 | 只看该作者
旧版的能不能用???
回复

使用道具 举报

56#
发表于 2011-11-1 07:12:36 | 只看该作者
下载加入winpe之中,搜索使用一切正常!但是在另一台本本上运行时,
开始菜单上仅出现"清除petools"快捷,却没有搜索到的petools目录?
难道,这还跟硬件(硬盘接口)有关吗?

[ 本帖最后由 2010yg 于 2011-11-1 08:58 编辑 ]
回复

使用道具 举报

55#
发表于 2011-8-3 15:09:20 | 只看该作者
虫大,这个代码比你的简单的多,不知道是如何实现的?

ENVI TOOLS=PETOOLS
FORX @\%TOOLS%,PT,0,TEAM ENVI PTS=%PT%|CALL MAKELINK
_SUB MAKELINK
FDRV DRVX=%PTS%
MSTR DRV=%DRVX%,1,1
LINK %USERPROFILE%\「开始」菜单\PETOOLS 程序\%DRV% 盘 %TOOLS%\target,%PTS%
FILE Desk.ini=>%USERPROFILE%\「开始」菜单\PETOOLS 程序\%DRV% 盘 %TOOLS%\desktop.ini
SITE %USERPROFILE%\「开始」菜单\PETOOLS 程序\%DRV% 盘 %TOOLS%\*.*,+A+H+S
SITE %USERPROFILE%\「开始」菜单\PETOOLS 程序\%DRV% 盘 %TOOLS%\,+R+S
_END
TEAM ENVI TOOLS=|ENVI DRVX=|ENVI DRV=|ENVI PTS=
回复

使用道具 举报

54#
发表于 2011-1-6 14:01:58 | 只看该作者
很好的东东!逐渐完善了!呵呵!
回复

使用道具 举报

53#
发表于 2011-1-5 15:37:17 | 只看该作者
win03pe中已经搞定,但win7pe中载完成后,开始和所有程序中都找不到petools工具。
回复

使用道具 举报

52#
发表于 2011-1-5 14:56:07 | 只看该作者
以往的都不很完善,看看這個如何。
回复

使用道具 举报

51#
发表于 2011-1-4 16:03:50 | 只看该作者
网大!
我把你的工具PETOOL GUI中的文件都放入了pe的system32目录中,在搜索petools跳出界面,点确定后,系统跳出提示:PECMD.EXE必须放入SYSTEM32目录中运行,这个提示关了又跳出,关不掉,但是petools工具全加载到了。
回复

使用道具 举报

50#
发表于 2010-10-3 10:43:20 | 只看该作者
收藏备用,谢谢楼主分享、
回复

使用道具 举报

49#
发表于 2010-9-30 15:15:48 | 只看该作者
感谢网虫2008的提供,非常不错!
回复

使用道具 举报

48#
 楼主| 发表于 2010-9-30 03:23:42 | 只看该作者
原帖由 wbz2cdma 于 2010-9-30 01:59 发表
看了一下小马PE的架构,个人感觉小马PE对外置程序的处理方式比较实用:
建立minipe目录(可放任意分区),在minipe下建立program和system两个子目录,并将.wim文件放于这两个子目录中,
program下的.wim文件挂 ...


看来你没用过我的PE,,我PE的外置部署就是“剽窃”小马兄滴,呵呵,一模一样。
回复

使用道具 举报

47#
发表于 2010-9-30 01:59:22 | 只看该作者
看了一下小马PE的架构,个人感觉小马PE对外置程序的处理方式比较实用:
建立minipe目录(可放任意分区),在minipe下建立program和system两个子目录,并将.wim文件放于这两个子目录中,
program下的.wim文件挂载到x:\program files,system下的.wim文件挂载到x:\wxpe。

自己DIY很方便:
想要什么程序,只要将其做成.wim,放在上述两个子目录中的一个内。在.wim内建一个main.ini就可以了,PE启动后自动在菜单(程序、开始、桌面都行,具体在main.ini中设定)上就已经建好快捷方式了。

main.ini的内容也很简单,(如果不需要注册处理的话)只需要一行代码(以WinPM为例):
Link %Programs%\WinPM 磁盘管理工具,%CurDir%\WinPM.exe
回复

使用道具 举报

46#
发表于 2010-9-30 01:49:32 | 只看该作者
搜索到PETOOLS文件夹中的.wim文件后,把wim文件内含的所有文件(如.ico .dll .txt)都做成快捷方式放到菜单中并无必要。在菜单中需要做成快捷方式的,可能只是.exe .cmd .bat文件。
回复

使用道具 举报

45#
发表于 2010-9-29 23:36:53 | 只看该作者
很方便的外置程序添加方法。
回复

使用道具 举报

44#
发表于 2010-9-20 11:05:58 | 只看该作者
感谢分享了 谢谢..
回复

使用道具 举报

43#
发表于 2010-9-20 10:49:29 | 只看该作者
如果PETOOLS目录或子目录下存在DOS程序,如grub.exe,加载外置时会出现提示框,缺少apps.inf什么的,能不能改进代码使之不出现,并不创建快捷方式?或者只搜索至二级或三级子目录?

[ 本帖最后由 mygamexxx 于 2010-9-20 11:08 编辑 ]
回复

使用道具 举报

42#
发表于 2010-9-17 21:04:30 | 只看该作者
什么时候能用到虫大的PE3.0?
回复

使用道具 举报

41#
发表于 2010-9-17 20:12:35 | 只看该作者
这回可以了,多谢更新。。。。。。
回复

使用道具 举报

40#
 楼主| 发表于 2010-9-17 18:06:47 | 只看该作者
0917更新: 支持了WIN7 PE,将“拓展程序目录”名称改为“PETOOLS 目录”
回复

使用道具 举报

39#
发表于 2010-9-16 15:09:28 | 只看该作者

回复 #34 0cat0 的帖子

你是修改后,保留了下面的这一句,把搜索petools.cmd 这一句删除
;SET "外置程序=%StartMenu%\%外置程序::=%"
也就是搜索petools.cmd 文件中只修改红色的一句为SET "外置程序=%Programs%\%外置程序::=%"
SET "外置程序=外置程序_%~d1盘"
SET "StartMenu=%USERPROFILE%\「开始」菜单\拓展程序目录"
SET "外置程序=%StartMenu%\%外置程序::=%"

不过删除时会有问题,因为SET "StartMenu=%USERPROFILE%\「开始」菜单\拓展程序目录"这一句没有修改。

这样修改可能就不会有问题(而且在 PE1.X 中也可通用):
SET "外置程序=外置程序_%~d1盘"
SET "StartMenu=%Programs%\拓展程序目录"
SET "外置程序=%StartMenu%\%外置程序::=%"


[ 本帖最后由 mygamexxx 于 2010-9-16 15:27 编辑 ]
回复

使用道具 举报

38#
 楼主| 发表于 2010-9-16 05:36:51 | 只看该作者
0916更新: 优化代码并删除了 CreateFolderShortcuts.ini 文件
回复

使用道具 举报

37#
 楼主| 发表于 2010-9-15 08:46:18 | 只看该作者
0915更新(感谢老九的帮助):如果选择“映射WIM...”进行搜索,将创 建“开始\拓展程序目录\PETOOLS_WIM\所有映射的文件夹及其子目录与文件”的快捷方式。
回复

使用道具 举报

36#
发表于 2010-9-12 19:50:17 | 只看该作者

回复 #35 网虫2008 的帖子

这样呀,不知道D大能不能下个PE3试试?

这里有个100M的PE3:
http://bbs.wuyou.net/forum.php?m ... page%3D1&page=1

202楼有我的截图:
http://bbs.wuyou.net/forum.php?m ... age%3D1&page=21
回复

使用道具 举报

35#
 楼主| 发表于 2010-9-12 19:23:09 | 只看该作者
原帖由 0cat0 于 2010-9-12 15:55 发表
试了一下,改了以下内容可以让PE3上面用了,可怎么路径这么长,还要改什么地方呢?

;SET "外置程序=%StartMenu%\%外置程序::=%"
SET "外置程序=%Programs%\%外置程序::=%"


WIN7PE没研究过,,我也不知道怎么加呀,,

不过你好像没加对,,看到我首页的图了吧,,这个“拓展菜单应该是在开始菜单的左上角才对呀
回复

使用道具 举报

34#
发表于 2010-9-12 15:55:06 | 只看该作者
试了一下,改了以下内容可以让PE3上面用了,可怎么路径这么长,还要改什么地方呢?

;SET "外置程序=%StartMenu%\%外置程序::=%"
SET "外置程序=%Programs%\%外置程序::=%"

2010-09-12_155454.png (109.49 KB, 下载次数: 110)

2010-09-12_155454.png
回复

使用道具 举报

33#
 楼主| 发表于 2010-9-11 14:23:42 | 只看该作者
0911更新:如果选择“映射WIM...”进行搜索,将在“开始》\PETOOLS_WIM”中同步添加“Y:\PETOOLS_WIM\映射文件夹”快捷方式。



[ 本帖最后由 网虫2008 于 2010-9-17 18:12 编辑 ]
回复

使用道具 举报

32#
发表于 2010-9-9 11:37:45 | 只看该作者
好东西,刚才试了一下,好像不支持PE3,不知道楼主能不能改善一下,使之支持PE3。。。。

能不能加个判断之类的,确定系统版本后,根据不同版本的PE,设置LNK变量。

看了一下别人的PE3菜单LNK是下面这个:

//-------------------附加到开始菜单--------------------
ENVI LNK=X:\Program Files\LNK
LINK %LNK%\Imdisk,x:\windows\Explorer.exe,x:\windows\system32\imdisk.cpl,x:\windows\system32\imdisk.cpl
PINT %LNK%\Imdisk.lnk,附到「开始」菜单(&U)

[ 本帖最后由 0cat0 于 2010-9-9 11:46 编辑 ]
回复

使用道具 举报

31#
发表于 2010-9-9 11:25:39 | 只看该作者
有更新,跟进,谢谢!
回复

使用道具 举报

30#
发表于 2010-9-9 09:06:44 | 只看该作者
原帖由 网虫2008 于 2010-9-8 16:11 发表


1.晕,首页上传的图不就是选项窗口吗,,什么都不点选,只点击开始搜索就是只建快捷方式了。
2.PE中的有些东西还是大家固定为一个模式的比较好,便于互相沟通。如果你想搜索别的文件夹,最好自己DIY。把PE ...



谢谢你的解答!要向你多学习了!
回复

使用道具 举报

29#
 楼主| 发表于 2010-9-9 07:51:35 | 只看该作者
原帖由 alexo 于 2010-9-9 07:38 发表
不用IMDISK的惨然滴低空飘过。。。。。


呵呵,没这么惨吧,如果不点选加载WIM的选项,也用不到IMDISK,系统中如果有Y盘就用不到,如果没有,用你自己的程序实现也行呀,只要改一下.INI中的这行,,

_SUB set_y
ifex Y:\,!RAMD ImDisk,L64,NTFS,Y:,ImDIsk
WAIT 500
_END


好像你的PE中有个MOUN程序吧,,我没用过,不知道它有没有命令行参数建立虚拟磁盘?

等我有时间做个带IMDISK的单文件版PETOOLS,如果在SYSTEM32中没有找到IMDISK程序自动加载和注册。

[ 本帖最后由 网虫2008 于 2010-9-9 07:55 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-21 06:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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