无忧启动论坛

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

[原创] Dism离线封装脚本,无门槛封装系统,可封装为ISO/ESD/WIM/VHDX格式 v2026.1.11。

    [复制链接]
601#
发表于 2026-1-13 20:07:28 | 只看该作者
本帖最后由 yuping 于 2026-1-13 20:53 编辑

又失败了~!
注意看: 删除 Z:\Win11_95。。。。。。   实际上Z盘是我的网络位置,早就存在。挂载的iso是F盘 ,封装的时候创建Z盘??冲突了?可能


使用Dism查看映像索引和版本信息
-----------------------------------------------------------

索引:1   Windows 11 Pro
索引:2   Windows 11 SE
索引:3   Windows 11 Pro Education
索引:4   Windows 11 Pro for Workstations
索引:5   Windows 11 Pro Single Language
索引:6   Windows 11 Education
索引:7   Windows 11 Enterprise
索引:8   Windows 11 Enterprise multi-session
索引:9   Windows 11 IoT Enterprise
索引:0   Windows 11 IoT Enterprise Subscription

-----------------------------------------------------------

映像文件位置:F:\sources\install.wim

映像文件索引:1  Windows 11 Pro

封装文件位置:C:\Users\Admin\Documents\Dism_AutoPack_Script_v20260111\Win11_95_pack.iso

-----------------------------------------------------------

请确认需要封装的版本,按回车键继续。

如需要封装其他版本请输入对应索引号:4

部署映像服务和管理工具
版本: 10.0.28000.1

正在导出映像
[==========================100.0%==========================]
操作成功完成。

正在挂载映像,请耐心等待,不要关闭本窗口。

部署映像服务和管理工具
版本: 10.0.28000.1

正在安装映像
[==========================100.0%==========================]
操作成功完成。

正在启用系统组件,已用时1分9秒,请耐心等待,不要关闭本窗口。

启用 旧版组件集合功能  LegacyComponents

部署映像服务和管理工具
版本: 10.0.28000.1

映像版本: 10.0.28000.1340

启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。

启用 旧版游戏支持组件  DirectPlay

部署映像服务和管理工具
版本: 10.0.28000.1

映像版本: 10.0.28000.1340

启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。

启用 SMB1组件  SMB1Protocol

部署映像服务和管理工具
版本: 10.0.28000.1

映像版本: 10.0.28000.1340

启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。

正在禁用系统组件,已用时1分39秒,请耐心等待,不要关闭本窗口。

禁用 视频播放器  WindowsMediaPlayer

部署映像服务和管理工具
版本: 10.0.28000.1

映像版本: 10.0.28000.1340

禁用一个或多个功能
[==========================100.0%==========================]
操作成功完成。

禁用 防病毒程序  Windows-Defender-Default-Definitions

部署映像服务和管理工具
版本: 10.0.28000.1

映像版本: 10.0.28000.1340

禁用一个或多个功能
[==========================100.0%==========================]
操作成功完成。

正在删除预装应用,已用时2分7秒,请耐心等待,不要关闭本窗口。

删除 Z:\Win11_95\Windows\SystemApps\Microsoft.XboxGameCallableUI_cw5n1h2txyewy
删除 Z:\Win11_95\Windows\SystemApps\Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy

正在移除可选功能,已用时2分7秒,请耐心等待,不要关闭本窗口。

移除 步骤记录器  App.StepsRecorder~~~~0.0.1.0

正在移除功能包,已用时2分19秒,请耐心等待,不要关闭本窗口。

移除 视频播放器  Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~arm64.x86~zh-CN~10.0.28000.1
移除 视频播放器  Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~arm64.x86~~10.0.28000.1
移除 视频播放器  Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~arm64.x86~~10.0.28000.1340
移除 视频播放器  Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~arm64~zh-CN~10.0.28000.1
移除 视频播放器  Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~arm64~~10.0.28000.1
移除 视频播放器  Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~arm64~~10.0.28000.1340

正在禁用指定服务,已用时2分19秒,请耐心等待,不要关闭本窗口。

禁用 SysMain服务  程序预读取
禁用 BITS服务  后台智能传送
禁用 UsoSvc服务  更新 Orchestrator
禁用 wuauserv服务  Windows 自动更新
禁用 WaaSMedicSvc服务  Windows 更新医生
禁用 wscsvc服务  安全中心监视
禁用 SecurityHealthService服务  安全中心客户端
禁用 WinDefend服务  防病毒程序
禁用 WdNisDrv服务  防病毒驱动
禁用 WdBoot服务  防病毒启动保护
禁用 WdFilter服务  防病毒文件保护
禁用 WdNisSvc服务  防病毒网络保护
禁用 Sense服务  防病毒主动防御

正在删除指定文件,已用时2分37秒,请耐心等待,不要关闭本窗口。

删除 Z:\Win11_95\Windows\System32\oobe\FirstLogonAnim.exe
删除 Z:\Win11_95\Windows\System32\SecurityHealthSystray.exe
删除 Z:\Win11_95\Windows\System32\SecurityHealthService.exe
删除 Z:\Win11_95\Windows\System32\SecurityHealthHost.exe
删除 Z:\Win11_95\Windows\System32\smartscreen.exe
删除 Z:\Win11_95\Windows\System32\SecurityHealthAgent.dll
删除 Z:\Win11_95\Windows\System32\SecurityHealthCore.dll
删除 Z:\Win11_95\Windows\System32\SecurityHealthUdk.dll
删除 Z:\Win11_95\Windows\System32\SecurityHealthProxyStub.dll
删除 Z:\Win11_95\Windows\System32\SecurityHealthSSO.dll
删除 Z:\Win11_95\Windows\System32\SecurityHealthSsoUdk.dll
删除 Z:\Win11_95\Windows\System32\smartscreen.dll
删除 Z:\Win11_95\Windows\System32\smartscreen.exe
删除 Z:\Win11_95\Windows\System32\smartscreenps.dll
删除 Z:\Win11_95\Windows\SysWOW64\smartscreen.dll
删除 Z:\Win11_95\Windows\SysWOW64\smartscreen.exe
删除 Z:\Win11_95\Windows\SysWOW64\smartscreenps.dll
删除 Z:\Win11_95\Program Files (x86)\Microsoft\EdgeUpdate
删除 Z:\Win11_95\Program Files\Windows Defender
删除 Z:\Win11_95\Program Files (x86)\Windows Defender
删除 Z:\Win11_95\Program Files\Windows Defender Advanced Threat Protection
删除 Z:\Win11_95\ProgramData\Microsoft\Windows Defender
删除 Z:\Win11_95\ProgramData\Microsoft\Windows Defender Advanced Threat Protection
删除 Z:\Win11_95\Windows\System32\OneDriveSetup.exe
删除 Z:\Win11_95\Windows\SysWOW64\OneDriveSetup.exe
删除 Z:\Win11_95\Windows\WinSxS\arm64_microsoft-windows-onedrive-setup_31bf3856ad364e35_10.0.28000.1_none_f2b243bcc4c52b36\OneDriveSetup.exe
删除 Z:\Win11_95\Windows\WinSxS\arm64_microsoft-windows-s..lers-onedrivebackup_31bf3856ad364e35_10.0.28000.1_none_7529a77bc8ff1bd2\OneDriveSetup.exe
删除 Z:\Win11_95\Windows\System32\Recovery\Winre.wim
删除 Z:\Win11_95\Windows\System32\Recovery\ReAgent.xml

导入文件默认关联程序

部署映像服务和管理工具
版本: 10.0.28000.1

映像版本: 10.0.28000.1340

操作成功完成。

正在保存映像,已用时2分43秒,请耐心等待,不要关闭本窗口。

部署映像服务和管理工具
版本: 10.0.28000.1

映像文件 : Z:\Win11_95.wim
映像索引 : 1
正在保存映像
[==========================100.0%==========================]
正在卸载映像
[==========================100.0%==========================]
操作成功完成。

正在复制ISO镜像外壳文件到临时目录,已用时3分49秒,请耐心等待,不要关闭本窗口。

正在导出 Windows Setup Media 已用时3分49秒

部署映像服务和管理工具
版本: 10.0.28000.1


错误: 0xc1510111

你没有装载或修改此映像的权限。
请验证你是否有读/写权限,或者使用 /ReadOnly 选项装载此映像。注意,无法使用只读权限提交对映像所做的更改。

可以在 C:\WINDOWS\Logs\DISM\dism.log 上找到 DISM 日志文件

正在导出 Microsoft Windows PE 已用时3分51秒

部署映像服务和管理工具
版本: 10.0.28000.1


错误: 3

系统找不到指定的路径。

可以在 C:\WINDOWS\Logs\DISM\dism.log 上找到 DISM 日志文件

部署映像服务和管理工具
版本: 10.0.28000.1


错误: 3

系统找不到指定的路径。

可以在 C:\WINDOWS\Logs\DISM\dism.log 上找到 DISM 日志文件

部署映像服务和管理工具
版本: 10.0.28000.1


错误: 3

系统找不到指定的路径。

可以在 C:\WINDOWS\Logs\DISM\dism.log 上找到 DISM 日志文件

正在导出 Microsoft Windows Setup 已用时3分52秒

部署映像服务和管理工具
版本: 10.0.28000.1


错误: 3

系统找不到指定的路径。

可以在 C:\WINDOWS\Logs\DISM\dism.log 上找到 DISM 日志文件
存在一个重名文件,或是找不到文件。
系统找不到指定的路径。

正在保存为ISO文件,已用时3分52秒,请耐心等待,不要关闭本窗口。
100% complete

封装完成,合计用时3分59秒,封装iso文件位置:C:\Users\Admin\Documents\Dism_AutoPack_Script_v20260111\Win11_95_pack.iso 按任意 键退出。

点评

你没有装载或修改此映像的权限。 你是如何挂载的映像?  详情 回复 发表于 2026-1-13 20:31
回复

使用道具 举报

602#
发表于 2026-1-13 20:31:30 | 只看该作者
yuping 发表于 2026-1-13 20:07
又失败了~!

使用Dism查看映像索引和版本信息


你没有装载或修改此映像的权限。  
你是如何挂载的映像?

点评

大概找到原因了,Z盘是网络位置,本来早就存在。脚本运行中没有判断,直接用Z挂载,结果写入不进去,没判断,强行写入并且继续执行封装流程 到后面就报错了,结果封装后的iso大小只有大概50MB ,只是一个iso空壳子,  详情 回复 发表于 2026-1-13 20:48
回复

使用道具 举报

603#
发表于 2026-1-13 20:36:27 | 只看该作者
谢谢分享
回复

使用道具 举报

604#
发表于 2026-1-13 20:48:57 | 只看该作者
本帖最后由 yuping 于 2026-1-13 20:54 编辑
sdtzsf 发表于 2026-1-13 20:31
你没有装载或修改此映像的权限。  
你是如何挂载的映像?

大概找到原因了,Z盘是网络位置,本来早就存在。脚本运行中没有判断,直接用Z挂载,结果写入不进去,没判断,强行写入并且继续执行封装流程 到后面就报错了,结果封装后的iso大小只有大概44MB ,只是一个iso空壳子,里面没有install。
回复

使用道具 举报

605#
发表于 2026-1-14 15:06:08 | 只看该作者
本帖最后由 yuping 于 2026-1-14 17:42 编辑

大佬 你的脚本发现严重bug 如果Z盘已经存在,比如Z是网络 ,那么脚本创建vhdx挂载时候没有判断直接强行创建Z导致冲突 无权限,最后封包iso只有44MB



后来发现了 代码有判断。但是没考虑到一种情况: 虽然Z:盘没显示在explore资源管理器,不代表不存在。 但是作为一个服务进程 已经提前占了位置了 系统会根据需要来开启共享 挂载Z:。


即使Z盘已没有挂载,但是被网络共享占用,脚本发现不了,所以也不会自动跳过它 选择下一个可用盘符,而是继续使用Z挂载封装。问题就出在这里。




比如说,桌面上 ”我的电脑“ 图标上右键--管理---打开计算机管理--共享文件夹---共享,这里面已经有Z盘共享占了位置了 很正常Z是个局域网共享的,就像里面类似ADMIN$ 、C$、 IPC$、 Users$,我这里比别人多了一个Z,是因为局域网有共享 刚好是Z盘,与封装脚本创建的Z冲突了。

脚本虽然有遍历检测盘符,但是检测不到Z盘的,因为Z会根据情况自己挂载出来,如果没挂载出来z共享盘,当然检测不到,那么问题来了,脚本就分配到Z盘了,但是Z是有服务在 “计算机管理--共享文件夹---共享” 这里面占据了位置,强行再挂载一个Z 肯定冲突了,然而封装脚本又检测不到 不知情,所以继续运行,写入数据过程中 报错 没有权限写入什么的。。。见601楼...。 最终导致封装的iso大小只有44MB空壳子。


不知这样解释 说清楚了没有。。。。。。。



最后,解决办法: 非常简单,去掉一个字母,改一下代码直接不要Z了。临时解决一下。搞定!收工~








点评

有判断盘符是否存在的代码 for %%i in (%abc%) do if not exist %%i: set pan=%%i if not exist %pan%: 既然能挂载install.wim怎么挂载其他卷就不行了,搞不懂。 后期看下能不能修改下判断盘符存在的方法,这个Z  详情 回复 发表于 2026-1-14 22:15
回复

使用道具 举报

606#
发表于 2026-1-14 16:35:10 | 只看该作者
谢谢分享,下载下来试试。
回复

使用道具 举报

607#
 楼主| 发表于 2026-1-14 22:15:02 | 只看该作者
yuping 发表于 2026-1-14 15:06
大佬 你的脚本发现严重bug 如果Z盘已经存在,比如Z是网络 ,那么脚本创建vhdx挂载时候没有判断直接强行创建 ...

有判断盘符是否存在的代码
for %%i in (%abc%) do if not exist %%i: set pan=%%i
if not exist %pan%:
既然能挂载install.wim怎么挂载其他卷就不行了,搞不懂。
后期看下能不能修改下判断盘符存在的方法,这个Z盘是不能用了,确实很多网络共享相关会用到这个盘符。

点评

if not exist 只能判断盘符存不在 也就是本地驱动器。 网络驱动器还没有检查所以可能会遇到刚好有人 带有网络共享驱动器情况,脚本会冲突。 这样会增加脚本代码体积,所以我只是临时去掉三个字母让脚本不要用 x  详情 回复 发表于 7 天前
回复

使用道具 举报

608#
发表于 7 天前 | 只看该作者
本帖最后由 yuping 于 2026-1-15 09:39 编辑
baby1277 发表于 2026-1-14 22:15
有判断盘符是否存在的代码
for %%i in (%abc%) do if not exist %%i: set pan=%%i
if not exist %pan%: ...

if not exist 只能判断盘符存不在 也就是本地驱动器。 网络驱动器还没有检查所以可能会遇到刚好有人 带有网络共享驱动器情况,脚本会冲突。


这样会增加脚本代码体积,所以我只是临时去掉三个字母让脚本不要用 x y z 三个盘,挂载盘从W开始 冲突情况会小很多。毕竟x盘不能用,pe专用的,y、z 有很多人网络内网有共享啊 什么的,或者虚拟机自动分配的。比如我的是pd自动占用了Z,所以去掉,还有一些大佬玩内存盘啊 、ramos之类的,R盘理所当然自然被ramos占用,不过R可以被脚本检测到因为不是网络路径,所以不用管它,脚本会自己避开R。。。


所以我在找真正可靠没有漏判的方法可以确保找到真正可用的盘符,即使网络驱动器通过各种方式占用也不会误判。

我有一段代码,现在测试阶段。你参考一下
  1. @echo off
  2. rem 检查是否以管理员身份运行
  3. net session >nul 2>&1
  4. if %errorlevel% neq 0 (
  5.     echo 需要管理员权限运行此脚本
  6.     echo 请右键点击此脚本,选择"以管理员身份运行"
  7.     echo.
  8.     pause
  9.     exit /b 1
  10. )

  11. setlocal enabledelayedexpansion

  12. rem 设置要检查的盘符列表,从W到C
  13. set "drives=W V U T S R Q P O N M L K J I H G F E D C"
  14. set "pan="

  15. rem 添加检查,确保脚本不会立即退出
  16. echo 开始检查可用盘符...
  17. echo.

  18. rem 先检查所有net use命令是否正常工作
  19. net use >nul 2>&1
  20. if errorlevel 1 (
  21.     echo 警告: net use命令可能有问题,跳过网络驱动器检查
  22. )

  23. for %%i in (%drives%) do (
  24.     echo 正在检查盘符 %%i:...
  25.    
  26.     rem 检查本地驱动器
  27.     if exist %%i:\ (
  28.         echo 盘符 %%i: 已被本地驱动器占用
  29.     ) else (
  30.         rem 检查网络驱动器
  31.         echo 检查网络驱动器映射...
  32.         net use 2>nul | findstr /i /c:"%%i:" >nul
  33.         if not errorlevel 1 (
  34.             echo 盘符 %%i: 已被网络驱动器占用
  35.         ) else (
  36.             rem 检查虚拟驱动器(subst)
  37.             echo 检查虚拟驱动器...
  38.             subst 2>nul | findstr /i /c:"%%i:" >nul
  39.             if not errorlevel 1 (
  40.                 echo 盘符 %%i: 已被虚拟驱动器占用
  41.             ) else (
  42.                 rem 如果以上都没有,则找到可用盘符
  43.                 set "pan=%%i"
  44.                 echo 找到可用盘符: %%i
  45.                 rem 找到后暂停一下再继续
  46.                 goto :found
  47.             )
  48.         )
  49.     )
  50.     echo.
  51. )

  52. rem 如果没有找到可用盘符,显示错误信息
  53. if not defined pan (
  54.     echo 错误: 没有找到可用盘符!
  55.     echo.
  56.     echo 所有盘符(Z到C)都已被占用。
  57.     echo 请检查并释放一些驱动器盘符。
  58.     echo.
  59.     echo 按任意键退出...
  60.     pause >nul
  61.     endlocal
  62.     exit /b 1
  63. )

  64. :found
  65. if defined pan (
  66.     echo.
  67.     echo ========================================
  68.     echo 最终选定的可用盘符是: %pan%
  69.     echo ========================================
  70.     echo.
  71.     echo 按任意键退出...
  72.     pause >nul
  73.     endlocal & set pan=%pan%
  74. ) else (
  75.     echo 错误: 没有找到可用盘符!
  76.     echo.
  77.     echo 按任意键退出...
  78.     pause >nul
  79.     endlocal
  80.     exit /b 1
  81. )
复制代码




点评

经过验证 if exist 命令 是可以判断 网络驱动器的盘符存在你反馈的那种错误实在搞不明白,前面的索引可以挂载,后面的索引不可以挂载,我觉得应该是被其他软件干扰了。 [attachimg]570903[/attachimg]  详情 回复 发表于 5 天前
回复

使用道具 举报

609#
发表于 7 天前 | 只看该作者
学习一下
回复

使用道具 举报

610#
发表于 6 天前 | 只看该作者
如果集成驱动的话,解压后 只要是inf 文件 和sys文件都可以吗  全部放在一个文件夹?还是分层分多级文件夹存放?
可否详细介绍一下这方面。。。 看了说明 只是一笔带过 说是解压就可以了,什么原理呢

点评

Driver目录下所有的inf文件,不管多少层级子文件夹,只认inf文件,但不能包含中文路径。  详情 回复 发表于 5 天前
回复

使用道具 举报

611#
发表于 6 天前 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

612#
发表于 6 天前 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

613#
发表于 6 天前 | 只看该作者
学习.谢谢
回复

使用道具 举报

614#
发表于 6 天前 | 只看该作者
感谢分享
回复

使用道具 举报

615#
发表于 5 天前 | 只看该作者
啊,居然无法下载,没有权限,着急死了
回复

使用道具 举报

616#
发表于 5 天前 | 只看该作者
真是6666,提个建议,精简完成后能自动优化删除垃圾的文件就好了

点评

还有什么文件没有删除??  详情 回复 发表于 5 天前
回复

使用道具 举报

617#
 楼主| 发表于 5 天前 | 只看该作者
yuping 发表于 2026-1-16 00:40
如果集成驱动的话,解压后 只要是inf 文件 和sys文件都可以吗  全部放在一个文件夹?还是分层分多级文件夹 ...

Driver目录下所有的inf文件,不管多少层级子文件夹,只认inf文件,但不能包含中文路径。

点评

就是说可以多级目录对吧 sys、cat 也应该放里面,因为一般inf都和sys 、cat关联。  详情 回复 发表于 5 天前
回复

使用道具 举报

618#
 楼主| 发表于 5 天前 | 只看该作者
lzm3377 发表于 2026-1-17 20:08
真是6666,提个建议,精简完成后能自动优化删除垃圾的文件就好了

还有什么文件没有删除??
回复

使用道具 举报

619#
 楼主| 发表于 5 天前 | 只看该作者
yuping 发表于 2026-1-15 09:35
if not exist 只能判断盘符存不在 也就是本地驱动器。 网络驱动器还没有检查所以可能会遇到刚好有人 带有 ...

经过验证 if exist 命令 是可以判断 网络驱动器的盘符存在
你反馈的那种错误实在搞不明白,前面的索引可以挂载,后面的索引不可以挂载,我觉得应该是被其他软件干扰了。




点评

你这种资源管理器中显示的 肯定可以判断的。我上面说清楚了,没显示在explore资源管理器,是判断不出来的,这种情况毕竟很少。比如我用了虚拟机,自动共享一个网络路径给win11.然后如果 虚拟机临时关闭了网络共享,  详情 回复 发表于 5 天前
回复

使用道具 举报

620#
发表于 5 天前 | 只看该作者
baby1277 发表于 2026-1-17 22:09
Driver目录下所有的inf文件,不管多少层级子文件夹,只认inf文件,但不能包含中文路径。

就是说可以多级目录对吧
sys、cat 也应该放里面,因为一般inf都和sys 、cat关联。
回复

使用道具 举报

621#
发表于 5 天前 | 只看该作者
本帖最后由 yuping 于 2026-1-17 23:03 编辑
baby1277 发表于 2026-1-17 22:22
经过验证 if exist 命令 是可以判断 网络驱动器的盘符存在
你反馈的那种错误实在搞不明白,前面的索引可 ...

你这种资源管理器中显示的 肯定可以判断的。我上面说清楚了,没显示在explore资源管理器,是判断不出来的,这种情况毕竟很少。比如我用了虚拟机,自动共享一个网络路径给win11.然后如果 虚拟机临时关闭了网络共享,但是这个网络共享还占用这挂载路径,只是不显示而已,虚拟机会根据情况随时显示 在打开共享时才会显示在资源管理器的挂载。
这个问题好解决了 问题不大,代码去掉两个字母 少用两个盘符就避免干扰了。

又有bug来了 经过亲自封装win11 发现 优化脚本太狠了 过头了,文件关联错误-比如7z等好几个非zip的关联到了zip导致打开7z报错。右键无法弹出管理员身份运行、服务项打开报错等等、update被替换成disable.dll导致设置面板亮红字,服务打开报错,其实完全没必要破坏/重定位系统文件,只禁用服务就行了~配合一键优化暂停更新最多一万天的注册表可以实现随时开启关闭,想停多久停多久
aria2等后台基于断点下载的软件都无法运行,比如uup脚本cmd文件下载后无法运行,bits服务被损坏
更严重的是终于发现 导致win11拖放失效,不能拖放任何到任务栏程序打开 ,困扰了半个月原因才发现,优化脚本禁用了uac 并导入了3行注册表 导致拖放失效,所以即使拖放一个文本文件到任务栏记事本打开都不行。。。
改了一天bug 终于全面发现了大部分困扰很久的bug,等待封装测试.....

回复

使用道具 举报

622#
发表于 5 天前 | 只看该作者

:: 使用系统自带的压缩管理器 严重bug-错误的关联!会导致"打开"菜单报错
::reg add "HKEY_CLASSES_ROOT\.7z" /ve /t REG_SZ /d "CompressedFolder" /f  
::reg add "HKEY_CLASSES_ROOT\.cab" /ve /t REG_SZ /d "CABFolder" /f  
::reg add "HKEY_CLASSES_ROOT\.zip" /ve /t REG_SZ /d "CompressedFolder" /f  
::reg add "HKEY_CLASSES_ROOT\.rar" /ve /t REG_SZ /d "CompressedFolder" /f  

尤其是 .7z/.rar 格式,大概率触发报错;.zip/.cab 也可能因关联异常引发菜单加载 / 打开失败,注释里标注的 “严重 bug - 错误的关联” 完全是准确的。
核心原因(为什么会报错)
Windows 系统的注册表类(CompressedFolder/CABFolder)是为系统原生支持的格式设计的,超出这个范围强行关联,会导致系统调用错误的处理程序:
.zip:虽然 CompressedFolder 是系统原生的 zip 关联类,但直接用 reg add 强行覆盖关联(而非系统默认方式),可能破坏原有关联的 “上下文参数”,导致右键 “打开” 时菜单加载异常、或打开后压缩文件夹功能缺失;
.cab:CABFolder 是 cab 格式的原生类,理论上关联本身不会报错,但如果你的系统中已有第三方压缩软件(如 WinRAR/7-Zip)的 cab 关联,强行覆盖会导致第三方软件无法识别,反而触发 “打开方式” 报错;
.7z/.rar:这两种格式完全不是 Windows 原生支持的,系统的 CompressedFolder 类没有对应的解析逻辑 —— 强行关联后,双击 / 右键 “打开” 时,系统会尝试用压缩文件夹程序打开 .7z/.rar,结果就是:
直接弹出 “无法打开该文件”“找不到应用程序” 的报错框;
或右键 “打开” 菜单为空 / 点击无响应;
极端情况下,会导致整个压缩文件夹功能异常(比如所有 zip 文件也打不开)。
报错的具体表现
双击 .7z/.rar 文件:弹出 “Windows 无法打开此文件”,要求选择打开方式;
右键 .7z/.rar → 打开:无响应,或提示 “操作无法完成,因为文件已在另一个程序中打开”(实际无程序打开);
右键 .zip 文件 → 打开:能打开但压缩文件夹里的 “提取”“共享” 等功能灰色不可用;
系统桌面 / 资源管理器偶尔弹出 “Shell 扩展程序错误” 提示框。
回复

使用道具 举报

623#
发表于 3 天前 | 只看该作者
//ssx168.cn/ueneajjppv
//ssx168.cn/vfxfxjinnw
//ssx168.cn/jrhuuvpogy
//ssx168.cn/ztfuvpphjn
//ssx168.cn/dmebanudsd
//ssx168.cn/piwpsfeiby
//ssx168.cn/qhcfrrmqpp
//ssx168.cn/uhasfrkcie
//ssx168.cn/vvedlmoiqk
//ssx168.cn/areplymnkl
//ssx168.cn/kxmsomrida
//ssx168.cn/ypcoanmznl
//ssx168.cn/jbzsdhiooc
//ssx168.cn/gmwlbkmuoe
//ssx168.cn/lvogmjagkm
//ssx168.cn/cordkdbyff
//ssx168.cn/xoxqohpwgy
//ssx168.cn/xzenbxfxay
//ssx168.cn/szqvdnknsp
//ssx168.cn/fwmmsdfucg
//ssx168.cn/euwgtyquad
//ssx168.cn/gcohfsupio
//ssx168.cn/tdvvwfvpod
//ssx168.cn/wshhuwgkpd
//ssx168.cn/qjobzgxnga
//ssx168.cn/cfbdxxqgkg
//ssx168.cn/fnohogdmdv
//ssx168.cn/rqqyozvltx
//ssx168.cn/ebddyxtlih
//ssx168.cn/jjbnrxqlvj
//ssx168.cn/fgkcjioktj
//ssx168.cn/ahfoptuhjj
//ssx168.cn/ltlkphoxeb
//ssx168.cn/gerohutuya
//ssx168.cn/sddvcakqii
//ssx168.cn/yuskhwyqmz
//ssx168.cn/coinqkcjbe
//ssx168.cn/jhthgtmjfw
//ssx168.cn/daqjxprahl
//ssx168.cn/ofnmlgxmjb
//ssx168.cn/aahzbkmrhm
//ssx168.cn/qbdcfnjyaf
//ssx168.cn/cucqescmvq
//ssx168.cn/rlhyribjcy
//ssx168.cn/nosadstffc
//ssx168.cn/wzamrwzfka
//ssx168.cn/rapsctuxyf
//ssx168.cn/xlyqhisqep
//ssx168.cn/glbzfhlgos
//ssx168.cn/yaeecfeozf
回复

使用道具 举报

624#
发表于 3 天前 | 只看该作者
不明觉厉
回复

使用道具 举报

625#
发表于 3 天前 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-22 03:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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