无忧启动论坛

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

[分享] PE常用工具批处理快捷方式一一对应的另类方法

  [复制链接]
跳转到指定楼层
1#
发表于 2020-4-30 14:55:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 小吴 于 2020-5-14 16:22 编辑


PE常用工具批处理快捷方式一一对应的另类方法


从批处理论坛看到一贴http://www.bathome.net/thread-55431-1-1.html
觉得非常好,拿来转贴分享给大家:

制作PE,特别是外置工具包时,你在旧的工具包中加入新的工具时,需要重新在PECMD.ini中加入
一句一句语法代码,比较繁锁,但该批处理一次性解决了你的问题。

1、同时创建文件夹及子文件夹,在目录内一一创建EXE的快捷方式,并一一对应所在归类目录。
2、工具总包同时也发送至桌面上。
3、对自定义的个别EXE的快捷方式同样也发送至桌面上。
4、工具总包同时发送至所有程序中。

     这样整个PE显得相对简洁,而且工具包同样也能让其它PE方便调用,也方便增加减少。


运行环境由于PE精简程程度不同,有的PE不需要补充,有的PE需要补充,
当该批处理运行时出现“设备不支持符号链接”时 ,需要在system32下补充DLL文件,
而且补充时最好不要覆盖原文件,仅补充不存在文件。
补全DLL文件后,快捷方式的图标会自动关联,没必要再重新处理一遍
补全DLL文件后,PE系统更顺滑更流畅,也更稳定一些。
补充方法:  
    1、先在完整版系统中的C盘上存放一个1.exe,后写一批处理,
        代码如下:mklink /d D:\1.exe C:\1.exe
         pause
    2、注意这个pause一定要上,否则批处理自动完成后退出,就抓不到关联的DLL文件了
    3、用转换工具把BAT换成EXE文件
    4、用DLLShow.exe工具打开你刚转换成的EXE文件,DLLshow.exe会在程序里面显示运行mklink所需的DLL文件,
          其实这些DLL文件大多数在system32已有,只要补全少数几个不存在的就可以了。
    5、最好更新一下提取出来的DLL文件,所有文件出自同一windows版本,这样系统更稳定。


批处理之家大师的went的代码如下:
@echo off
REM Admin
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","REM",,"runas",1)(window.close)&exit
REM search drivers
set "drivers=C D E F G H I J K L M N O P Q R S T U V W X Y Z"
REM exe foldername
set "exeFolderName=集群工具包"
REM main foldername
set "linkFolderName1=%USERPROFILE%\desktop"
set "linkFolderName2=%ProgramData%\Microsoft\Windows\Start Menu\Programs"
REM esp exe
set "espExe=\磁盘软件\BOOTICE.exe?\图片工具\小型截图软件.exe?\镜像软件\UltraISO.exe?\播放器\PotPlayer.exe?\数据恢复\数据恢复.exe"
REM start
for %%i in (%drivers%) do if exist "%%i:\" (
        set /p="check:%%i:\%exeFolderName%   "<nul
        if exist "%%i:\%exeFolderName%" (
                echo OK!
                set "folder=%%i:\%exeFolderName%"
                goto :done
        ) else echo not found!
)
echo -------------
for %%i in (%drivers%) do (
        cd /d "%%i:\" 2>nul && (
                echo search %%i: please wait...
                for /r /d %%a in ("*") do (
                        if "%%~na" equ "%exeFolderName%" (
                                set "folder=%%~a"
                                goto :done
                        )
                )
        )
)
:done
if "%folder%"=="" echo %exeFolderName% not found! & pause&exit
echo -------------
echo "folder=%folder%"
echo -------------
for /r "%folder%" %%i in ("*.exe") do (
        echo mklink: %%~i
        call set "exe=%%~i"
        call echo %espExe% | call findstr /i /C:"%%exe:%folder%\=%%" >nul 2>nul && (
                call echo add %userprofile%\desktop
                mklink "%userprofile%\desktop\%%~ni" "%%~i" >nul
        )
        for /f "tokens=2 delims==" %%a in ('set linkFolderName') do (
                call set "link=%%a\%exeFolderName%\%%exe:%folder%\=%%"
                call mkdir "%%link:%%~nxi=%%" >nul 2>nul
                call mklink "%%link:~0,-4%%" "%%~i" >nul
        )
)

exit

运行mklink命令所需DLL文件如下:(仅以win10-18362.592-64为例:):   
https://pan.baidu.com/s/1dGZrb9FQ4oyGHMtl-h5YGA
提取码:6v2i
可能版本不一样有所不同,最好请自行提取并出自同一版本。
每个人的喜欢爱好个性不一样,此方法不一定是最好,仅供参考学习之用。
在此引用went大师的代码,表示感谢。

上面是mklink版本

下面是shortcut版本,更方便更简洁,无需添加DLL

shortcut.rar

24.8 KB, 下载次数: 45, 下载积分: 无忧币 -2

2#
发表于 2020-5-1 16:16:24 | 只看该作者
好代码,纯支持一下
回复

使用道具 举报

3#
发表于 2020-5-2 23:33:25 | 只看该作者
谢谢分享
回复

使用道具 举报

4#
发表于 2020-5-10 22:43:47 | 只看该作者
学习一下,感谢~
回复

使用道具 举报

5#
发表于 2020-5-11 12:41:03 | 只看该作者
好东西啊。我也学习一下。
回复

使用道具 举报

6#
发表于 2020-6-2 15:21:48 | 只看该作者
学习一下,想添加工具进去
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 07:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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