다운로드
스크립트 더 보기,
@echo off
@prompt $s
@color 1f
@cd /d %~dp0
@title PE 드라이버 통합 스크립트 V1.03(DD)
@setlocal enabledelayedexpansion
if not defined in_subprocess (cmd /k set in_subprocess=y ^& %0 %*) & exit )
mode con cols=80 lines=23
@echo 관리자권한 확인용 >%windir%\admin.confirm || @(
echo Set UAC = CreateObject^("Shell.Application"^) > "%tmp%\admin.vbs"
echo UAC.ShellExecute "%~0", "", "", "runas", 1 >> "%tmp%\admin.vbs"
"%tmp%\admin.vbs" & del "%tmp%\admin.vbs" & exit)
@del %windir%\admin.confirm
@echo off
@shift /0
@set "b2eextd=%~dp0extd.exe"
@set "extd=@call:extd"
@set "b2etempfile=%temp%\extd.tmp"
pushd %~dp0
@extd /center
cls
color 1f
echo.
echo
echo PE 드라이버 통합 스크립트 - 준비중
echo
echo.
echo 이미 탑재되어 있는 WIM파일이 있는지 확인중입니다.
echo 탑재되어있는 모든 파일을 언마운트합니다.
dism /cleanup-wim
REG UNLOAD HKLM\Tmp_Default
for /f "tokens=1-4 usebackq" %%a in (`DISM /Get-MountedwimInfo`) do (
for /f "tokens=1-3 usebackq" %%h in (`DISM /Get-MountedwimInfo`) do IF "%%j" EQU "없습니다." goto start
IF "%%b" EQU "디렉터리" (
cls
echo.
echo
echo DISM 언마운트 시작
echo
echo.
echo 마운트된 경로 : !Mdir!
set Mdir=%%d
DISM /Unmount-Wim /MountDir:!Mdir! /Discard
)
)
:start
:SELDRVFOL
cls
color 1f
echo.
echo
echo PE 드라이버 통합 - 드라이버 폴더 선택
echo
echo.
ECHO 통합할 드라이버가 있는 폴더를 선택해주세요
set RESULT=
%extd% /browseforfolder "통합할 드라이버가 있는 폴더를 선택해주세요" "%CD%"
IF "%RESULT%"=="" goto EXIT
SET "DRVFOL=%RESULT:~,-1%
cls
color 1f
echo.
echo
echo PE 드라이버 통합 - 대상 WIM 파일 선택
echo
echo.
set result=
ECHO PE wim 파일을 선택해주세요.
%extd% /browseforfile "수정하려는 PE의 WIM 파일을 선택해주세요" "" "WIM 파일 (*.wim)|*.wim" 1
IF "%result%"=="" goto EXIT
@echo f|XCOPY /Y "%RESULT%" "backup.wim">nul
IF EXIST C:\mount\temp RD /S /Q C:\mount\temp
MD C:\mount\temp
dism\dism.exe /Mount-Image /ImageFile:"%result%" /index:1 /MountDir:C:\mount\temp\
cls
color 1f
:J_START
mode con cols=150 lines=41
cls
color 1f
echo.
echo
echo PE 드라이버 통합 - 드라이버 통합 시작
echo
dism\Dism.exe /Image:C:\mount\temp /Add-Driver /Driver:"%DRVFOL%" /Recurse /forceunsigned
echo.
ping 1.1.1.1 -n 2 -w 1000 > nul
echo.
cls
mode con cols=80 lines=23
color 1f
echo.
echo
echo PE 드라이버 통합 - 언마운트 시작
echo
echo.
echo WIM 파일을 언마운트합니다.
dism\dism.exe /Unmount-Image /MountDir:C:\mount\temp /commit
rd /s /q C:\mount\
cls
color 1f
echo.
echo
echo PE 드라이버 통합 - 언마운트 시작
echo
echo.
echo WIM 파일의 용량을 최적화합니다.
for /f "tokens=*" %%a in ("%result%") do set "Wname=%%~na"&set "Wpath=%%~pa"&set "WDrv=%%~da"
dism\Dism.exe /Export-Image /SourceImageFile:"%result%" /SourceIndex:1 /DestinationImageFile:"%Wdrv%%Wpath%temp.wim" /Bootable /CheckIntegrity
del /s /q "%result%"
ren "%Wdrv%%Wpath%temp.wim" "%wname%.wim"
cls
color 2f
echo.
echo
echo PE 드라이버 통합 - 작업 완료
echo
echo.
echo 작업이 완료되었습니다.
echo.
echo 아무 키나 누르면 창이 닫힙니다.
pause>nul
endlocal
exit
:extd
@set result=
@%b2eextd% "%~1" "%~2" "%~3" "%~4" "%~5" "%~6" "%~7" "%~8" "%~9" > "%b2etempfile%"
@set /p result= < "%b2etempfile%"
@del "%b2etempfile%"
@goto:eof
:EXIT
endlocal
EXIT
@exit
:UNMOUNT
for /f "tokens=1-3 usebackq" %%h in (`DISM /Get-MountedwimInfo`) do IF "%%j" EQU "없습니다." goto NOT_FOUND
for /f "tokens=1-4 usebackq" %%a in (`DISM /Get-MountedwimInfo`) do (
for /f "tokens=1-3 usebackq" %%h in (`DISM /Get-MountedwimInfo`) do IF "%%j" EQU "없습니다." goto FINISH
IF "%%b" EQU "디렉터리" (
cls
echo.
echo
echo DISM 언마운트 시작
echo
echo.
echo 마운트된 경로 : !Mdir!
set Mdir=%%d
DISM /Unmount-Wim /MountDir:!Mdir! /Discard
)
)
:NOT_FOUND
cls
echo.
echo
echo 마운트된 이미지 없음
echo
echo.
echo 언마운트 할 이미지 파일이 없습니다.
echo.
echo 아무 키나 누르면 창이 닫힙니다.
pause>nul
endlocal
exit
:FINISH
cls
color 2f
echo.
echo
echo 언마운트 완료
echo
echo.
echo 모든 이미지를 언마운트 완료하였습니다.
echo.
echo 아무 키나 누르면 창이 닫힙니다.
pause>nul
endlocal
exit