opus-nt/patch-iso.bat

124 lines
2.3 KiB
Batchfile
Raw Normal View History

2019-10-06 10:23:05 +00:00
@echo off
setlocal EnableDelayedExpansion
set workdir=%~dp0
cd /d %workdir%
:: expanding path with prerequisites
for /d %%i in (bin\*) do set path=%cd%\%%i;!path!
:: clearing temporary data
if exist "tmp" (
echo.
echo unmounting windows image...
dism /unmount-image /mountdir:"tmp\wim" /discard
echo.
echo unmounting registry...
reg unload HKLM\FWIN_TMP
echo.
echo removing tmp folder...
rmdir "tmp" /s /q
)
if "%1" == "" (
echo usage: create-iso.bat IMAGE
goto exit
)
:: console mode
if "%1" == "console" (
echo.
cmd
goto exit
)
mkdir tmp
echo.
echo extracting disc-image...
mkdir tmp\disc-image
7z x -o"tmp\disc-image" %1
echo.
echo mounting windows image...
mkdir tmp\wim
dism /mount-image /index:1 /imagefile:"tmp\disc-image\sources\install.wim" /mountdir:"tmp\wim"
:: image console mode
if "%2" == "console" (
echo.
cmd
goto exit
)
echo.
echo applying files to windows image...
for /d %%i in (opus-files\wim\*) do (
echo applying: %%i
xcopy "%%i" "tmp\wim" /e /y
)
echo.
echo working registry...
cd "tmp\wim\windows\system32\config"
for %%i in (*) do (
echo.
echo mounting: %%i
reg load HKLM\FWIN_TMP %%i
echo running tweaks for %%i...
for %%e in (%workdir%\opus-files\reg\%%i\*) do (
echo applying: %%e
reg import "%%e"
)
echo unmounting: %%i
reg unload HKLM\FWIN_TMP
)
cd /d %workdir%
:: why would the default user settings not be in %windir%\system32\config?
echo.
echo mounting: tmp\wim\users\default\ntuser.dat
reg load HKLM\FWIN_TMP "tmp\wim\Users\Default\NTUSER.DAT"
echo running tweaks for NTUSER...
for %%e in (%workdir%\opus-files\reg\NTUSER\*) do (
echo applying: %%e
reg import "%%e"
)
echo unmounting: tmp\wim\users\default\ntuser.dat
reg unload HKLM\FWIN_TMP
echo.
echo applying scripts...
for /d %%i in (opus-files\scripts\*) do (
echo applying: %%i
call "%%i\script.bat"
)
echo.
echo committing changes to wim and unmounting...
dism /unmount-image /mountdir:"tmp\wim" /commit
echo.
echo applying files to disc-image...
for /d %%i in (opus-files\iso\*) do (
echo applying: %%i
xcopy "%%i" "tmp\disc-image" /e /y
)
echo.
echo moving disc-image folder...
rmdir "disc-image" /s /q
move "tmp\disc-image" "%cd%"
echo.
echo deleting tmp...
rmdir "tmp" /s /q
echo.
echo all done. a folder with the disc image's data has been created. use something like ntlite to compile it into an iso.
pause
explorer.exe "%cd%\disc-image"
:exit