无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3487|回复: 2
打印 上一主题 下一主题

修改一下这个搜索外挂PETOOLS的批,使其适应PE3.x

  [复制链接]
跳转到指定楼层
1#
发表于 2012-11-26 10:58:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  1. ::petools扩展目录搜索安装程序 by chenall [url=http://www.chenall.com[url]http://www.chenall.com[/url][/color[/url]]
  2. ::思路来源:[url=http://bbs.wuyou.net/forum.php?mod=viewthread&tid=140951[url]http://bbs.wuyou.net/forum.php?mod=viewthread&tid=140951[/url][/color[/url]]
  3. ::调用方式
  4. ::PETOOLS_LNK [PETOOLS目录]
  5. ::PECMD调用例子,查找所有petools目录。
  6. ::PECMD FORX @\PETOOLS,TOOLS,0,!EXEC CMD /C “PETOOLS_LINK %TOOLS%”
  7. ::2009-12-22 第三版,2009-12-23,修改了执行SETUP.BAT/CMD的调用方式为START /W,解决碰到EXIT退出的问题.
  8. ::2009-12-23,对于注册表文件只自动注册setup_reg.reg,其它的可以由setup.cmd来调用.以免重复执行
  9. ::具体无忧专贴:[url]http://bbs.wuyou.net/forum.php?mod=viewthread&tid=158014[/url]

  10. @echo off
  11. if "%~1"=="" goto :eof
  12. if not defined StartMenu goto :eof
  13. if "%~1"=="merge" goto :merge
  14. if not exist "%~1" goto :eof
  15. SET "BASE_DIR=%~1"
  16. SET "外置程序=外置程序_%~d1盘"
  17. SET "外置程序=%StartMenu%\%外置程序::=%"
  18. SET "_TF=%WinDir%\T_PETOOLS_%base_dir:~0,1%_"
  19. IF EXIST "%外置程序%" RD /S /Q "%外置程序%" 2>nul
  20. :START
  21. DEL "%_TF%*.*" 2>nul
  22. PUSHD "%~F1"
  23. >%_TF%LST.lst dir /s/a/b *.wim *.cmd *.bat *.exe readme*.txt 使用说明*.txt
  24. POPD
  25. PUSHD "%WinDir%"
  26. for /f "usebackq delims=" %%i in (%_TF%LST.lst) do CALL :MAKE_LINK "%%i"
  27. ECHO.EXEC !%~F0 merge "%外置程序%" >>%_TF%LNK.INI
  28. ECHO.FILE %_TF%LNK.INI>>%_TF%LNK.INI
  29. START PECMD LOAD %_TF%LNK.INI
  30. PUSHD "%~F1"
  31. >"%_TF%REG.lst" dir /s/a/b SETUP_REG.REG 2>nul
  32. >"%_TF%INF.lst" dir /s/a/b setup.inf 2>nul
  33. POPD
  34. if exist "%_TF%REG.LST" for /f "usebackq delims=" %%i in ("%_TF%REG.LST") do REGEDIT /S "%%i"
  35. if exist "%_TF%INF.lst" for /f "usebackq delims=" %%i in ("%_TF%INF.lst") do RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 %%i
  36. IF EXIST "%_TF%SETUP.LST" for /f "usebackq delims=" %%i in ("%_TF%SETUP.LST") do CALL :PETOOLS_SETUP %%i
  37. DEL %_TF%*.lst
  38. POPD
  39. goto :eof

  40. :MAKE_LINK
  41. SETLOCAL
  42. if "%~1"=="" goto :eof
  43. if /i "%~n1"=="setup" (
  44. echo.%1 >>"%_TF%SETUP.LST"
  45. goto :eof
  46. )
  47. SET ".=%~1"
  48. SET ".=%.:&=^&%"
  49. SET "PETOOLS=%~dpn1"
  50. call,SET "PETOOLS=%%PETOOLS:%BASE_DIR%=%外置程序%%%"
  51. SET "PETOOLS=%PETOOLS:&=^&%"
  52. echo.LINK %PETOOLS%,%.%>>%_TF%LNK.INI
  53. GOTO :EOF

  54. :PETOOLS_SETUP
  55. ::为什么需要这些步骤呢,因为考虑到有一些批处理对执行目录的要求(编写时没有考虑到),所以才需要进入批处理目录执行.否则可能会出错.表面上是执行了,其实执行的结果是错误的.用PECMD调用同样会有这样的问题.
  56. pushd "%~dp1"
  57. PECMD EXEC !%~nx1
  58. POPD
  59. goto :eof

  60. :merge
  61. PUSHD %2||GOTO :EOF
  62. for /d %%i in ("%~2\*") do call :merge_lnk "%%i"
  63. POPD
  64. goto :eof

  65. :merge_lnk
  66. CD /D %1||GOTO :EOF
  67. for /d %%i in ("%~f1\*") do call %0 "%%i"
  68. CD /D %1||GOTO :EOF
  69. set n=
  70. for /f %%i in ('dir /a/b') do (
  71.     if defined n goto :eof
  72.     set n=1
  73. )
  74. for /f "usebackq delims=" %%i in (`dir /a/b`) do move /y "%%i" ..\
  75. cd..&&rd %1
  76. goto :eof
复制代码

这个是chenall大的经典作品,具体见http://bbs.wuyou.net/forum.php?mod=viewthread&tid=140951
好像PE3.x下不能用,特此请教。
谢谢!

[ 本帖最后由 2011czmxbb52 于 2012-11-26 11:47 编辑 ]
推荐
发表于 2013-3-2 18:58:26 | 只看该作者
原帖由 <i>zhaohj</i> 于 2012-11-26 11:17 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2624775&ptid=272256" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
简单一点,挂到程序下:<br />
<br />
ENVI TOOLS=PETOOLS<br />
ENVI NT6PATH=X:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs<br />
FORX @\%TOOLS%,PT,0,TEAM ENVI PTS=%PT%|CALL MAKELINK<br />
<br />
_SUB MAK ...
<br />
这个绝对好东西啊,简单易懂,感谢分享啊,我拿去了,哈哈
回复

使用道具 举报

推荐
发表于 2012-11-26 11:17:23 | 只看该作者
简单一点,挂到程序下:

ENVI TOOLS=PETOOLS
ENVI NT6PATH=X:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
FORX @\%TOOLS%,PT,0,TEAM ENVI PTS=%PT%|CALL MAKELINK

_SUB MAKELINK
FDRV DRVX=%PTS%
MSTR DRV=1,1,%DRVX%

LINK %NT6PATH%\%DRV% 盘 %TOOLS%\target,%PTS%
WRIT %NT6PATH%\%DRV% 盘 %TOOLS%\desktop.ini,+0,[.ShellClassInfo]
WRIT %NT6PATH%\%DRV% 盘 %TOOLS%\desktop.ini,+0,CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
WRIT %NT6PATH%\%DRV% 盘 %TOOLS%\desktop.ini,+0,Flags=2
SITE %NT6PATH%\%DRV% 盘 %TOOLS%\desktop.ini,+A+S+H
SITE %NT6PATH%\%DRV% 盘 %TOOLS%\,+R+S

EXEC !%PTS%\REGDOC.CMD
_END

TEAM ENVI TOOLS=|ENVI DRVX=|ENVI DRV=|ENVI PTS=|ENVI NT6PATH=
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-23 06:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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