无忧启动论坛

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

[分享] Wimlib直接按照列表文件删除BOOT.WIM包里面的文件夹并清理pe的WIM包并缩小体积的方法

  [复制链接]
跳转到指定楼层
1#
发表于 2020-10-31 15:48:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sairen139 于 2020-11-1 11:41 编辑

Wimlib直接按照列表文件删除BOOT.WIM包里面的文件夹并清理整个pe的WIM包并缩小其体积的方法:
预先需要准备的工具有wimlib.exe(这里准备的是64位的如用32位请自备)和libwim-15.dll并放入同一个文件夹,然后创建一个批处理文件(第1步删除WIM包里的文件夹.CMD)内容如下:

%~dp0\wimlib update BOOT.WIM < rd.txt
pause


跟着创建一个rd.txt文本文件内容如下:
delete --recursive "\$Recycle.Bin"
delete --recursive "\Documents and Settings"
delete --recursive "\PerfLogs"
delete --recursive "\Windows\AppPatch"
delete --recursive "\Windows\Branding"
。。。等等的内容


最后创建另外一个批处理(第2步清理并缩小WIM体积.bat)内容如下:

%~dp0\wimlib optimize BOOT.WIM --recompress
pause


如此就能缩减pe的成品体积!




56A0E047-0D53-4996-ADD6-450AB4ED02A9.jpeg (199.08 KB, 下载次数: 141)

56A0E047-0D53-4996-ADD6-450AB4ED02A9.jpeg

57D19A2F-5271-4F45-9E50-2F0B32E87DC6.png (29.49 KB, 下载次数: 145)

57D19A2F-5271-4F45-9E50-2F0B32E87DC6.png

删除BOOT.WIM里的文件夹并清理缩小pe体积.zip

415.54 KB, 下载次数: 178, 下载积分: 无忧币 -2

删除BOOT.WIM里的文件夹并清理缩小pe体积.zip

!导出多映像WIM包里的卷1的所有目录和文件列表然后削减WIM包体积!.zip

437.39 KB, 下载次数: 113, 下载积分: 无忧币 -2

!导出多映像WIM包里的卷1的所有目录和文件列表然后削减WIM包体积!

评分

参与人数 2无忧币 +10 收起 理由
2013koko + 5 很给力!
foolst + 5 很给力!

查看全部评分

2#
 楼主| 发表于 2020-10-31 17:06:44 | 只看该作者
删除文件更简单在上文的rd.txt里直接添加要删除的文件的路径就行如下面最后两行所示:
delete --recursive "\$Recycle.Bin"
delete --recursive "\Documents and Settings"
delete --recursive "\PerfLogs"
delete --recursive "\Windows\AppPatch"
delete --recursive "\Windows\Branding"
delete "\autoexec.bat"
delete "\Windows\bfsvc.exe"

点评

想要不管文件有没有存在都删一遍需加--force 参数如下所示: delete --force --recursive "\$Recycle.Bin" delete --force --recursive "\Documents and Settings" delete --force --recursive "\PerfLogs" dele  详情 回复 发表于 2020-10-31 22:32
回复

使用道具 举报

3#
发表于 2020-10-31 17:27:00 来自手机 | 只看该作者
本帖最后由 2013koko 于 2020-10-31 17:28 编辑

楼主这个是适用单映像吧?请问install内有多个映像,如果想只保留一个映像,如何处理?

点评

试试类似这个命令:删除多映像里的卷2 wimlib-imagex delete D:\多映像在同一个.wim 2 --check  详情 回复 发表于 2020-10-31 17:51
回复

使用道具 举报

4#
 楼主| 发表于 2020-10-31 17:51:34 | 只看该作者
2013koko 发表于 2020-10-31 17:27
楼主这个是适用单映像吧?请问install内有多个映像,如果想只保留一个映像,如何处理?

试试类似这个命令:删除多映像里的卷2
wimlib-imagex delete D:\多映像在同一个.wim 2 --check

点评

感谢帮助,我试试  详情 回复 发表于 2020-10-31 19:37
回复

使用道具 举报

5#
发表于 2020-10-31 19:37:04 | 只看该作者
sairen139 发表于 2020-10-31 17:51
试试类似这个命令:删除多映像里的卷2
wimlib-imagex delete D:\多映像在同一个.wim 2 --check

感谢帮助,我试试
回复

使用道具 举报

6#
 楼主| 发表于 2020-10-31 22:32:27 | 只看该作者
sairen139 发表于 2020-10-31 17:06
删除文件更简单在上文的rd.txt里直接添加要删除的文件的路径就行如下面最后两行所示:
delete --recursive ...

想要不管文件有没有存在都删一遍需加--force 参数如下所示:
delete --force --recursive "\$Recycle.Bin"
delete --force --recursive "\Documents and Settings"
delete --force --recursive "\PerfLogs"
delete --force --recursive "\Windows\AppPatch"
delete --force --recursive "\Windows\Branding"
delete --force "\autoexec.bat"
delete --force "\Windows\bfsvc.exe"

515ED9F3-859E-4B3A-8E57-4CF58786E14F.jpeg (398.55 KB, 下载次数: 132)

515ED9F3-859E-4B3A-8E57-4CF58786E14F.jpeg

点评

!导出多映像WIM包里的卷1的所有目录和文件列表.bat的wimlib命令语句如下所示: %~dp0\wimlib dir BOOT.WIM 1 > 1.txt pause  详情 回复 发表于 2020-11-1 11:40
回复

使用道具 举报

7#
 楼主| 发表于 2020-11-1 11:40:52 | 只看该作者
sairen139 发表于 2020-10-31 22:32
想要不管文件有没有存在都删一遍需加--force 参数如下所示:
delete --force --recursive "\$Recycle.Bi ...

!导出多映像WIM包里的卷1的所有目录和文件列表.bat的wimlib命令语句如下所示:
%~dp0\wimlib dir BOOT.WIM 1 > 1.txt
pause

点评

这个方法也适用于制作精简系统的WIM包,如下图所示可以快速制作精简系统:  详情 回复 发表于 2020-11-1 12:17
回复

使用道具 举报

8#
 楼主| 发表于 2020-11-1 12:17:42 | 只看该作者
sairen139 发表于 2020-11-1 11:40
!导出多映像WIM包里的卷1的所有目录和文件列表.bat的wimlib命令语句如下所示:
%~dp0\wimlib dir BOOT. ...

这个方法也适用于制作精简系统的WIM包,如下图所示可以快速制作精简系统:

F3679F51-AFD9-4180-98C2-B79BB5357984.png (8.12 KB, 下载次数: 134)

F3679F51-AFD9-4180-98C2-B79BB5357984.png

6C22C6C5-258F-4B43-92EA-43534E5E0E8A.png (4.56 KB, 下载次数: 143)

6C22C6C5-258F-4B43-92EA-43534E5E0E8A.png
回复

使用道具 举报

9#
 楼主| 发表于 2020-11-1 18:26:46 | 只看该作者
rem 正向查找缺失

set Ins_mui=h:\install\Windows\System32\zh-CN

set Boot_mui=h:\boot\Windows\System32\zh-CN

set tMui=%1\zh-CN

if not exist %tMui% md %tMui%

for /f %%i in ('dir %1 /a:-d /b') do (

if not exist %tMui%\%%i.mui copy %Ins_mui%\%%i.mui %tMui%

if not exist %tMui%\%%i.mui copy %Boot_mui%\%%i.mui %tMui%

)

rem 反向查找多余

for /f %%i in ('dir %tMui% /a:-d /b') do if not exist %1\%%~ni del /q %tMui%\%%i

@echo off

rem 正向查找缺失

set Ins_mun=f:\install\Windows\SystemResources

set Boot_mun=f:\boot\Windows\SystemResources

set tMun=%1\SystemResources

if not exist %tMun% md %tMun%

for /f %%i in ('dir %1\System32 /a:-d /b') do (

if not exist %tMun%\%%i.mun copy %Ins_mun%\%%i.mun %tMun%

if not exist %tMun%\%%i.mun copy %Boot_mun%\%%i.mun %tMun%

)

rem 反向查找多余

for /f %%i in ('dir %tMun% /a:-d /b') do if not exist %1\System32\%%~ni del /q %tMun%\%%i

两个批处理,一个用来检查mui一个用来检查mun,只要把dll弄好了就行了。位置注意改,参数是目标文件夹。
回复

使用道具 举报

10#
发表于 2020-11-2 17:06:05 | 只看该作者
这个倒是很直接,收藏下
回复

使用道具 举报

11#
发表于 2021-11-21 23:34:08 | 只看该作者
wimlib删除
回复

使用道具 举报

12#
发表于 2024-3-7 10:55:43 | 只看该作者
感谢分享
回复

使用道具 举报

13#
发表于 2024-5-5 11:12:44 来自手机 | 只看该作者
教程收藏
回复

使用道具 举报

14#
发表于 2024-5-23 21:45:50 | 只看该作者
学习制作精简版
回复

使用道具 举报

15#
发表于 2024-5-23 21:57:34 | 只看该作者
感谢分享!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-12 06:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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