DoubleDrive 드라이버 추출, PE 드라이버 통합
Solution

DoubleDrive 드라이버 추출, PE 드라이버 통합

 

다운로드

DoubleDrive_드라이버추출프로그램.zip
6.79MB

 

스크립트 더 보기,

 

더보기

@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