WinPE下搜索PETOOL

首页 > PC教程 > 最新动态 > WinPE下搜索PETOOL GUI版

WinPE下搜索PETOOL GUI版

作者: 来源:萝卜家园 时间:2013-08-06 21:01:04

功能介绍:1、在自己的本地硬盘或者U盘根目录建立 PETOOLS 文件夹,将单独程序或文件夹复制到PETOOLS。2、如PETOOLS文件夹或其子文件中存在 SETUP.CMD 或SETUP.BAT、SETUP.INF、*.REG及*.WI

功能介绍:
  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文件。

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