|
本帖最后由 slore 于 2019-8-10 00:00 编辑
还有个问题就是每次制作后都必须大量删减 System32 和 SysWOW64 目录下的多国语言文件 .NLS,KB 开头的 DLL 键盘文件,和 Fonts 目录下的无用字体。能不能加个选项,只收集和简体中文有关的文件。
WimBuilder是 wim 文件编辑器(具有良好结构的自由开源编辑框架),
你可以想对wim怎么修改, WimBuilder帮你把它挂载且映射到X盘,
你随便建立一个批处理,
del X:\kb*.dll
就可以.
Re:WIN10XPE工程, 是一个例子, 当你想做类似操作的时候, 参考 WIN10XPE的某个main.bat即可.
你可以自由修改,扩展, 而不是依赖我来完成.
必须大量删减 System32 和 SysWOW64 目录下的多国语言文件 .NLS,KB 开头的 DLL 键盘文件,和 Fonts 目录下的无用字体。
如果勾选 [强力精简], 你就发现会自动删除.
当然除了这些还删除了些dll,可能还需要.
所以参照Projects\WIN10XPE\za-Slim\main_Ultra.bat, 很容易你可以得到:
删除其他语言KBDLL.bat:
- call :KEEP_FILE \Windows\System32\KBDUS.DLL
- rem TODO: other %WB_PE_LANG%
- if "x%WB_PE_LANG%"=="xru-RU" (
- call :KEEP_FILE \Windows\System32\KBDRU.DLL
- )
- del /a /f /q "%X_SYS%\KB*.DLL"
- call :KEEP_FILES \Windows\System32\ "kd.dll,kdcom.dll"
- del /a /f /q "%X_SYS%\kd*.dll"
复制代码
删除其他语言字体.bat:
- rem init code page
- set WB_PE_CODEPAGE=
- for /f "tokens=3" %%i in ('reg query HKLM\Tmp_SYSTEM\ControlSet001\Control\Nls\CodePage /v ACP') do (
- set WB_PE_CODEPAGE=%%i
- )
- if "x%WB_PE_CODEPAGE%"=="x" set WB_PE_CODEPAGE=437
- echo Got code page: %WB_PE_CODEPAGE%
- call :KEEP_FILES \Windows\Fonts\ "app%WB_PE_CODEPAGE%.fon,consola.ttf,marlett.ttf,micross.ttf,tahoma.ttf,segmdl2.ttf,tahoma.ttf,tahomabd.ttf"
- call :KEEP_FILES \Windows\Fonts\ "svgafix.fon,svgasys.fon,vga%WB_PE_CODEPAGE%.fon,vgafix.fon,vgafixr.fon,vgaoem.fon,vgasys.fon,vgasysr.fon"
- if "x%WB_PE_LANG%"=="xen-US" (
- call :KEEP_FILES \Windows\Fonts\ "segoeui.ttf,segoeuib.ttf,segoeuii.ttf"
- )
- if "x%WB_PE_LANG%"=="xzh-CN" (
- call :KEEP_FILES \Windows\Fonts\ "msyh.ttc,s8514fix.fon,s8514oem.fon,s8514sys.fon"
- call :KEEP_FILES \Windows\Fonts\ "segoeuib.ttf,seguisbi.ttf,seguisym.ttf,simsun.ttc,wingding.ttf"
- del "%X%\[KEEP]\Windows\Fonts\tahomabd.ttf"
- rem volume mixer
- call :KEEP_FILE \Windows\Fonts\Malgun.ttf
- )
- if "x%WB_PE_LANG%"=="xru-RU" (
- call :KEEP_FILES \Windows\Fonts\ "cour.ttf,courbd.ttf,courbi.ttf,courer.fon,lucon.ttf,serifer.fon"
- )
- if "x%WB_PE_LANG%"=="xko-KR" (
- call :KEEP_FILES \Windows\Fonts\ "gulim.ttc,malgun.ttf"
- )
- del /a /f /q "%X_WIN%\Fonts\*.*"
复制代码
删除其他语言NLS.bat:
- call :KEEP_FILES \Windows\System32\ "C_1251.NLS,C_1252.NLS,C_437.NLS"
- call :KEEP_FILE \Windows\System32\C_%WB_PE_CODEPAGE%.NLS
- del /a /f /q "%X_SYS%\C_*.NLS"
复制代码
以上代码为示例代码, 并不完整, 请自行参考main_Ultra.bat补齐.
然后, 你只要把这3个批处理放到:
- Z:\WimBuilder2\Projects\WIN10XPE\_CustomFiles_\MyCustom\
- +删除其他语言KBDLL.bat
- +删除其他语言NLS.bat
- +删除其他语言字体.bat
复制代码
就会自动处理。
也欢迎你分享你的处理批处理, 其他人如果也有相同需求可以使用.
|
|