有阴也有阳 发表于 2017-12-25 11:41:33

求一个挂载PETOOLS文件夹到PE桌面的批处理

本帖最后由 有阴也有阳 于 2017-12-25 17:51 编辑

      求一个从A——Z盘搜索PETOOLS文件夹并创建其快捷方式到PE桌面的批处理命令,在网上搜了很多,但都太复杂了,

只求搜到PETOOLS文件夹并创建其快捷方式到PE桌面就可以了。

                                                                                                                  谢谢!!!

       下面这个是本论坛歌理的,请高手帮忙给改一下——把PETOOLS文件夹的快捷方式的挂载位置从开始菜单,改成PE的桌面:

@echo off
:: 增加自动挂载 UD\PETOOLS功能
rem 程序名称:PETOOLS.CMD

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echoPETools扩展目录搜索安装程序...........................
title 挂载PETOOLS
rem程序功能:自动搜索加载外置\PETOOLS\下的程序,以快捷方式的形式,挂载到开始菜单,免除LINK命令的繁琐
rem默认搜索:自动搜索所有分区根目录下 PETOOLS,以盘符区分
rem特定挂载:带指定目录为参数,可以仅挂载该目录下的程序,如 挂载PETOOLS.CMD D:\绿化工具 
rem特定挂载时,若再加参数 展开,如 D:\绿化工具 展开,则绿化工具下的程序将直接展开到开始菜单
rem 若无展开参数,则自动以目录名取代PETOOLS_X盘,如绿色工具,适用于正常系统或PE
rem PE\windows通用:本程序为独立程序,可放于任意位置,支持XP\03\win7 PE,若有PECMD.exe,同时支持正常 WINDOWS xp\w7 系统!
rem 在windows 下,如执行:搜索加载PETOOLS.CMD D:\绿化工具,会将绿化工具 挂载到开始菜单(本程序目录需有PECMD.EXE)
rem 本程序仅挂载 *.EXE\*.WIM\*.CMD\*说明*.TXT等程序,自动挂载PETOOLS及其下子目录所有*EXE等可执行文件
rem 过滤功能:若不想显示某些文件及子目录,仅需将该文件或子目录 属性设为:隐藏即可,不影响使用,快捷菜单更加简洁
rem 注册功能:能自动执行PETOOLS及其下子目录中的 _Setup.CMD,显式执行,如将绿化、注册、RegDoc等更名为:_setup.CMD即可
rem 自定义图标:图标ICO文件与执行文件名相同即可
rem
rem 最新更新:支持UD隐藏分区中的PETOOLS,需fbinst.exe文件
rem 本程序在无忧高手的基础上进行完美,真正的单文件,windows及PE通用,所挂软件尽可能为绿色软件
echo 无忧启动 歌理 20121227(第三版,无忧论坛) 
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.

PUSHD %~dp0
SET TP=%CD%

set LNKinidir=%temp%
set petoolsdir=%~1
set petools2=%~2
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
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::=%盘
if not "%petools2%"#==""# SET 外置程序=\%petools2%
if "%petools2%"#=="展开"# SET 外置程序=
SET 挂载位置=%%StartMenu%%%外置程序%

rem if not "%外置程序%"#==""# IF EXIST "%StartMenu%%外置程序%" PECMD file "%StartMenu%%外置程序%"

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
if /i "%~n1"=="petools" goto :eof
if /i "%~n1"=="直接挂载到开始菜单" 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 @echooff
TYPE "%CMDfile%"|FIND /v /i "PETOOLS_LNK">>"%LNKinidir%\PETOOLS_LNK.CMD"
echo 正在搜索 PETOOLS,请不要关闭本窗口,搜索完毕会自动关闭.......
echo .
rem 若无展开,取目录名,挂载用
set toolsdir=%tp%
if%petools2%#==# call :getoolsdir
if%petools2%#==# set petools2=%toolsdir%
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%"#==""#fbinst (ud) output "PETOOLS/*" X:/
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 .
rem if exist "%petoolsdir%" PECMD KILl explorer.exe
rem if exist "%petoolsdir%" if not exist x:\ 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


rem 取目录名
:getoolsdir
for %%n in (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) do call :getdir01
goto :eof

:getdir01
for /f "delims=\" %%i in ("%toolsdir%") do set a=%%i&&call :getdir02
goto :eof

:getdir02
call,set "toolsdir=%%toolsdir:%a%\=%%"
goto :eof


      改动的地方希望以红字标注出来,谢谢!!!

      我把简单的问题复杂化了——直接整一个打开U盘里面的文件夹的bat就解决了:

      1.打开PETOOLS文件夹.bat:

start %~d0\PETOOLS

      2.打开“A-在PE下使用的单文件版的工具软件”文件夹.bat:

start %~d0\A-在PE下使用的单文件版的工具软件

      下面上图大家就一目了然:

      1.进入PE桌面:



      2.进入启动U盘,打开“A-在PE下使用的单文件版的工具软件”文件夹,双击运行里面的“A-挂载常用软件的快捷方式到PE的桌面.bat”:



      3.



      4.



      5.



      6.



      7.






maomao659274 发表于 2017-12-25 12:38:33

帮顶,我有一个,在wim里面,要是没人提供找时间传一个。
没有遍历盘符的功能

captain_g 发表于 2017-12-25 14:13:09

本帖最后由 captain_g 于 2017-12-25 14:24 编辑

只在磁盘根目录下查比较简单,如果全盘、全目录查,且查到的不止一个,就费时且复杂了!

自己用合用就行!示例献丑一下:

@echo off
echo.
for %%a in (d e f) do (
for /f "delims=" %%b in ('dir /ad /s /b "%%a:\"^|findstr /i "\petools$"') do (
    set fnd=%%b && call :NEXT
)
)
echo.
echo 为最后一个搜索到的外置工具箱创建桌面快捷方式
echo.
PECMD.EXE LINK %Desktop%\外置工具箱,%fnd%
exit

:NEXT
set /a b+=1
echo.
echo 找到的第[%b%]个外置工具箱[%fnd%]
goto :eof

根据需要可以a-z也可以z-a搜;

可以在PECMD.INI中为本批处理建一个桌面快捷方式;

在批处理中加一句,如果搜到了,就删除那个快捷方式;

在正常系统中测试本批处理,快捷方式不会创建到桌面上,应当用 PECMD.EXE LINK C:\Users\当前用户\Desktop\外置工具箱,%fnd%

wangtingting118 发表于 2018-12-12 16:10:31

win8x64pe怎么样能挂载高度隐藏区的PETOOLS

wangtingting118 发表于 2018-12-12 16:12:02

有哪位高人知道:win8x64pe怎么样能挂载高度隐藏区的PETOOLS文件夹?

wangtingting118 发表于 2018-12-12 16:12:17

有哪位高人知道:win8pex64怎么样能挂载高度隐藏区的PETOOLS文件夹?

dzy 发表于 2018-12-12 18:27:46

先SHOW出高度隐藏区,再挂!{:1_186:}

wangtingting118 发表于 2018-12-13 12:24:29

dzy 发表于 2018-12-12 18:27
先SHOW出高度隐藏区,再挂!

怎么样能先SHOW出高度隐藏区?

wangtingting118 发表于 2018-12-13 12:24:33

dzy 发表于 2018-12-12 18:27
先SHOW出高度隐藏区,再挂!

怎么样能先SHOW出高度隐藏区?

dzy 发表于 2018-12-13 14:46:31

wangtingting118 发表于 2018-12-13 12:24
怎么样能先SHOW出高度隐藏区?

diskpart 貌似可以
页: [1] 2 3
查看完整版本: 求一个挂载PETOOLS文件夹到PE桌面的批处理