无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3009|回复: 6

[已解决] 求大佬给个自动搜索分区下PETOOLS的批处理

[复制链接]
发表于 2020-8-3 00:07:49 | 显示全部楼层 |阅读模式
本帖最后由 a46872963 于 2020-8-23 14:48 编辑

RT 好多PE都有这个功能 加载外置工具 请问怎么实现的
发表于 2020-8-3 00:27:54 | 显示全部楼层
在Pecmd添加如下命令行:
FORX !\外置文件夹名称\xxxxx.INI,MyIni,1,LOAD %MyIni%


我就是用上述命令行实现的,具体还有没有更简单些就不清楚

点评

有效果图吗  详情 回复 发表于 2020-8-3 09:24
回复

使用道具 举报

发表于 2020-8-3 07:17:35 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2020-8-3 09:18:43 | 显示全部楼层
学习一下
回复

使用道具 举报

 楼主| 发表于 2020-8-3 09:24:47 | 显示全部楼层
630 发表于 2020-8-3 00:27
在Pecmd添加如下命令行:
FORX !\外置文件夹名称\xxxxx.INI,MyIni,1,LOAD %MyIni%

有效果图吗
回复

使用道具 举报

发表于 2020-8-5 07:04:25 | 显示全部楼层
@echo off
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo PETools扩展目录搜索安装程序...........................
title 搜索加载PETOOLS
echo 程序功能:自动搜索加载外置\PETOOLS\下的程序,以快捷方式的形式,挂载到开始菜单,免除LINK命令的繁琐
echo 默认搜索:自动搜索所有分区根目录下 PETOOLS,以盘符区分
echo 特定挂载:带指定目录为参数,可以仅挂载该目录下的程序,如 搜索加载PETOOLS.CMD D:\绿化工具 
echo 特定挂载时,若再加参数
展开,如 D:\绿化工具
展开,则绿化工具下的程序将直接展开到开始菜单
echo PE\windows通用:本程序为独立程序,可放于任意位置,支持XP\03\win7 PE,若有PECMD.exe,同时支持正常 WINDOWS xp\w7 系统!
ECHO 在windows 下,如执行:搜索加载PETOOLS.CMD D:\绿化工具,会将绿化工具 挂载到开始菜单(本程序目录需有PECMD.EXE)
echo 本程序仅挂载 *.EXE\*.WIM\*.CMD\*说明*.TXT等程序,自动挂载PETOOLS及其下子目录所有*EXE等可执行文件
echo 过滤功能:若不想显示某些文件及子目录,仅需将该文件或子目录 属性设为:隐藏即可,不影响使用,快捷菜单更加简洁
echo 注册功能:能自动执行PETOOLS及其下子目录中的 _Setup.CMD,显式执行,如将绿化、注册、RegDoc等更名为:_setup.CMD即可
echo 自定义图标:图标ICO文件与执行文件名相同即可
echo.
echo 本程序在无忧高手的基础上进行完美,真正的单文件,windows及PE通用,所挂软件尽可能为绿色软件
echo 无忧启动 歌理 20120725 
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.
PUSHD %~dp0
SET TP=%CD%
set LNKinidir=%temp%
set petoolsdir=%~1
set petools2=%2
For /f "delims=" %%i in ('Reg Query "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v "CurrentBuildNumber" ') do Set a=%%i
set CBN=%a:~-5,5%
if %CBN% GEQ 18850 (
set startmenu2=%ProgramData%\Microsoft\Windows\Start Menu\
goto main
)
  set startmenu2=%startmenu%
:main
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Call :PETOOLS_LNK
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if "%~1"=="" goto :eof
if not defined StartMenu goto :eof
if not exist "%~1" goto :eof
set PEdrv=%~d1
set 外置程序=PETools_%PEdrv::=%盘
SET 挂载位置=%%startmenu2%%\%外置程序%
if %petools2%#==展开# SET 挂载位置=%%startmenu2%%
if not "%挂载位置%"=="%%startmenu2%%" IF EXIST "%startmenu2%\%外置程序%" RD /S /Q "%startmenu2%\%外置程序%"
set petoolsexe=%LNKinidir%\petoolsexe.lst
set petoolslnk=%LNKinidir%\petoolslnk.INI
set petoolsetup=%LNKinidir%\petoolsetup.lst
:START
DEL "%petoolsexe%" 2>nul
DEL "%petoolslnk%" 2>nul
DEL "%petoolsetup%" 2>nul
PUSHD "%~F1"
>"%petoolsexe%" dir /s/b *.wim *.cmd *.bat *.exe readme*.txt *说明*.txt
POPD
for /f "usebackq delims=" %%i in ("%petoolsexe%") do CALL :MAKE_LINK "%%i"
PECMD LOAD %petoolslnk%
PUSHD "%~F1"
>"%petoolsetup%" dir /s/a/b _setup.CMD _setup.BAT 2>nul
if exist "%petoolsetup%" For /f "delims=" %%i in ('type "%petoolsetup%"') do (
PECMD EXEC =%%i
)
POPD
goto :eof
:MAKE_LINK
SETLOCAL
if "%~1"=="" goto :eof
set toolfile=%~1
if /i "%~n1"=="_setup" goto :eof
set myICO=
SET lnkname=%~dpn1
if exist "%lnkname%.ICO" set myICO=,,%lnkname%.ICO
call,set "lnkname=%%lnkname:%petoolsdir%\=%%"
>>"%PEtoolslnk%" echo.LINK %挂载位置%\%lnkname%,%toolfile%%myICO%
GOTO :EOF

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:PETOOLS_LNK
IF NOT EXIST "%SystemRoot%\system32\PECMD.exe" if not EXIST "%TP%\PECMD.exe" echo 请将PECMD.EXE复制到本程序目录下,再运行!&&pause&&exit
IF NOT EXIST "%SystemRoot%\system32\PECMD.exe" copy "%TP%\PECMD.exe" "%SystemRoot%\system32\PECMD.exe"
set CMDfile=%~F0
>"%LNKinidir%\PETOOLS_LNK.CMD" echo @echo off
TYPE "%CMDfile%"|FIND /v /i "PETOOLS_LNK">>"%LNKinidir%\PETOOLS_LNK.CMD"
echo 正在搜索 PETOOLS,请不要关闭本窗口,搜索完毕会自动关闭.......
echo .
if not "%petoolsdir%"#==""# PECMD EXEC ="%LNKinidir%\PETOOLS_LNK.CMD" "%petoolsdir%" %petools2%
set drv=C D E F G H I J K L M N O P Q R S T U V W X Y Z
if "%petoolsdir%"#==""# FOR %%a in (%drv%) do (
if exist "%%a:\PETOOLS" set petoolsdir=%%a:\PETOOLS
if exist "%%a:\PETOOLS" PECMD EXEC !="%LNKinidir%\PETOOLS_LNK.CMD" "%%a:\PETOOLS"
)
echo .
if exist "%petoolsdir%" rem PECMD KILl explorer.exe
if exist "%petoolsdir%" if not exist x:\ rem PECMD EXEC explorer.exe
if exist "%petoolsdir%" echo PETOOLS已经被装载到了开始菜单!!!!!
if not exist "%petoolsdir%" ECHO 没有搜索到 PETOOLS 文件夹!!!
del "%LNKinidir%\PETOOLS*.*" 2>nul
pecmd wait -3000
exit
GOTO :eof

评分

参与人数 1无忧币 +5 收起 理由
wuxin9712 + 5

查看全部评分

回复

使用道具 举报

发表于 2020-8-15 17:54:20 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 09:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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