![DISM 如何将更改应用于所有图像索引](https://linux22.com/image/1479739/DISM%20%E5%A6%82%E4%BD%95%E5%B0%86%E6%9B%B4%E6%94%B9%E5%BA%94%E7%94%A8%E4%BA%8E%E6%89%80%E6%9C%89%E5%9B%BE%E5%83%8F%E7%B4%A2%E5%BC%95.png)
这个问题在我脑海里已经存在很久了,我无法在谷歌上提出正确的问题来找到答案,所以我会在这里尝试一下。
这是关于 DISM 和 WIM 文件(Windows 映像格式)
我的 Install.Wim 有索引:
1 Windows Server 2012 R2 SERVERSTANDARDCORE
2 Windows Server 2012 R2 SERVERSTANDARD
3 Windows Server 2012 R2 SERVERDATACENTERCORE
4 Windows Server 2012 R2 SERVERDATACENTER
如果我想同时对所有 4 个索引应用更改(添加补丁、添加文件、安装 Windows 功能),该怎么办?
我目前当时挂载每个索引,应用我的更改,提交我的更改,然后卸载图像并从下一个索引重新开始。
有一个更好的方法吗 ?
答案1
没有直接的方法可以在所有索引中执行此操作......
但你可以根据以下内容做一个技巧:(来自塔拉克·巴夫萨尔)
@echo off
if exist %TEMP%\scm (RD %TEMP%\scm /S /Q)
md %TEMP%\scm
for /L %%A IN (1, 1, 25) Do (
dism /Get-WimInfo /WimFile:h:\research\Win7\InstallWin7_aio\sources\install.wim /index:%%A > %TEMP%\scm\%%A.txt
timeout 0 >nul
Find /i "Error:" "%Temp%\scm\%%A.TXT" > nul && (
set "Index=%%A"
goto:next
)
)
exit/b
:next
set /A Ti = %Index% - 1
ECHO There are %Ti% number of indexes in the image.
pause
希望这对您和其他人有所帮助!