반응형

기존 DrvAutoLauncher.bat 드라이버 런처에 EDrv8_25v3 자동 설치 실행 조건을 추가해 보았습니다.

 - 드라이브 루트 경로의 :\EDrv8*\EDrv8_x64.exe를 찾아서 있으면 실행

 - 없을 경우 EasyDrv7를 찾아서 실행

 

https://noways.tistory.com/2152

 

EasyDrv7, K-Driver 런처 배치 (드라이버 자동 설치 런처)

외부 경로에서 .bat 파일을 호출하여 실행할 경우, 구성 파일(EasyDrv7(WIN10x64).ini)의 경로를 제대로 찾지 못해 오류가 발생하는 문제가 있었습니다.이에 따라 .exe 파일의 실제 경로로 작업 디렉터리

noways.tistory.com

 

EDrv8_25v3(2025-05-26)

https://www.itsk.com/thread/434026
EDrv8_25v3.iso [9.33GB]
https://124.222.121.65/cu/IT天空资源分流/万能驱动/万能驱动8/万能驱动25v3

EasyDrv7 마지막 버전(2023.12.28)
https://124.222.121.65/cu/IT天空资源分流/万能驱动/万能驱动7/万能驱动2023.12.28
EasyDrv7 마지막 버전 - 윈도우7 업데이트(2024.12.11)
https://124.222.121.65/cu/IT天空资源分流/万能驱动/万能驱动7/万能驱动2024.12.11

 

DrvAutoLauncher.bat
0.01MB

 

EasyDrv 실행 전체 전체

@echo off
color 1F
cd /d %~dp0
title 드라이버 자동 설치 런처
mode con cols=100 lines=30

echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. 루트 경로에 EasyDrv or K-Driver 문자가 포함된 폴더를 찾아 설치를 시작합니다. 
echo ────────────────────────────────────────────────────────────────────────────────────────
echo  1. EasyDrv 경로		[외장] rootdrive:\EasyDrv**** or rootdrive:\EDrv8*
echo.
echo  2. K-Driver 경로		[외장] rootdrive:\K-Driver****
echo.
echo  3. Snappy Driver 경로		[외장] rootdrive:\SDI****
echo.
echo  4. Exit
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. 미선택시 10초 후 EasyDrv로 자동 설치 됩니다.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.    
CHOICE /C:1234 /T 10 /D:1 /M "Pick a Number 1 or 2 or 3 or 4"
IF ERRORLEVEL 4 exit
IF ERRORLEVEL 3 GOTO SnappyDriver
IF ERRORLEVEL 2 GOTO KDriver
IF ERRORLEVEL 1 GOTO EasyDrv

:EasyDrv
setlocal enabledelayedexpansion

if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" (set bit=x64) else (set bit=x86)

if /i "%cd%"=="%Windir%\Setup\Scripts" if %bit%==x86 if exist "%tmp%\완료.txt" goto :exit

if /i "%cd%"=="%Windir%\Setup\Scripts" goto :next1


:next1

echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. EasyDrv 설치합니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.

ping localhost -n 3 >nul

:ver1

for /F "tokens=1-2 delims=." %%a in ('ver') do set major=%%a& set winver=!major:~-2!.%%b

if "%winver%"==" 5.0" (set win=2000&set win=WinXP& goto :usb1)
if "%winver%"==" 5.1" (set win=XP&set win=WinXP& goto :usb1)
if "%winver%"==" 5.2" (set win=2003&set win=WinXP& goto :usb1)
if "%winver%"==" 6.0" (set win=Vista&set win=Win7& goto :usb1)
if "%winver%"==" 6.1" (set win=7&set win=Win7& goto :usb1)
if "%winver%"==" 6.2" (set win=8&set win=Win10& goto :usb1)
if "%winver%"==" 6.3" (set win=8.1&set win=Win10& goto :usb1)
if "%winver%"=="10.0" (set win=10&set win=Win10& goto :usb1)

cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. 지원하는 Windows 가 아닙니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     
ping localhost -n 7 >nul
exit

:usb1

for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
for /F "tokens=*" %%b in ('"dir /a:d /b "%%a:\EDrv8*""') do (set usb=%%a&set folder=%%b& goto :findEDrv8)
)

for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
for /F "tokens=*" %%b in ('"dir /a:d /b "%%a:\EasyDrv*""') do (set usb=%%a&set folder=%%b& goto :find1)
)

for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
for /F "tokens=*" %%b in ('"dir /a:d /b "%%a:\WanDrv*""') do (set usb=%%a&set folder=%%b& goto :find1)
)

cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. 각 드라이브 루트에 EasyDrv7 혹은 EDrv8가 포함된 폴더가 없습니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     
ping localhost -n 7 >nul
exit

:find1

cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. %win%.%bit% 찾아서 설치 중 입니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     

for /F "tokens=*" %%a in ('"dir /a:-d /b /s "%usb%:\%folder%\*%win%.%bit%*.exe""') do set exe=%%a& goto :run1
 
cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. "%usb%:\%folder%" 에서 "%win%.%bit%" 가 포함된 exe 파일을 찾지 못 했습니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     
ping localhost -n 7 >nul
exit

:findEDrv8

cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. EDrv8_%bit% 찾아서 설치 중 입니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     

for /F "tokens=*" %%a in ('"dir /a:-d /b /s "%usb%:\EDrv8_%bit%.exe""') do set exe=%%a& goto :runEDrv8
 
cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. "%usb%" 에서 "EDrv8_%bit%" 가 포함된 exe 파일을 찾지 못 했습니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     
ping localhost -n 7 >nul
exit

:run1

rem exe의 경로와 파일명 분리
for %%I in ("%exe%") do (
    set "drv_path=%%~dpI"
    set "exe_name=%%~nxI"
)

rem 작업 디렉토리를 exe 경로로 이동 후 실행하고 대기
pushd "%drv_path%"

if /i "%cd%"=="%Windir%\Setup\Scripts" (
    rem Sysprep specialize 구간 : /a /c /r 옵션 사용
    start /wait "" "%exe_name%" /a /c /r
) else (
    rem 일반 윈도우 환경 : 옵션 없이 실행
    start /wait "" "%exe_name%"
)

popd

rem Sysprep 경로에서 실행 중이면 작업 완료 플래그 기록
if /i "%cd%"=="%Windir%\Setup\Scripts" if %bit%==x64 (
    echo.>"%tmp%\완료.txt"
    exit
)

if /i "%cd%"=="%Windir%\Setup\Scripts" del /f/a/q "%~0" 
exit

:runEDrv8

rem exe의 경로와 파일명 분리
for %%I in ("%exe%") do (
    set "drv_path=%%~dpI"
    set "exe_name=%%~nxI"
)

rem 현재 작업 디렉토리 저장
set "original_cd=%cd%"

rem 작업 디렉토리를 exe 경로로 이동 후 실행하고 대기
pushd "%drv_path%"

if /i "%original_cd%"=="%Windir%\Setup\Scripts" (
    rem Sysprep specialize 구간 : /a /c /r 옵션 사용
    start /wait "" "%exe_name%" /a /c /r
) else (
    rem 일반 윈도우 환경 : 옵션 없이 실행
    start /wait "" "%exe_name%"
)

popd

rem Sysprep 경로에서 실행 중이면 작업 완료 플래그 기록
if /i "%original_cd%"=="%Windir%\Setup\Scripts" if %bit%==x64 (
    echo.>"%tmp%\완료.txt"
    exit
)

if /i "%original_cd%"=="%Windir%\Setup\Scripts" del /f/a/q "%~0" 
exit

 

드라이브 루트 경로의 \EDrv8_25v3 폴더 찾기

:usb1

for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
for /F "tokens=*" %%b in ('"dir /a:d /b "%%a:\EDrv8*""') do (set usb=%%a&set folder=%%b& goto :findEDrv8)
)

 

드라이브 루트 경로의 \EDrv8_25v3\EDrv8_x64.exe 실행 파일 찾기

:findEDrv8

cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. EDrv8_%bit% 찾아서 설치 중 입니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     

for /F "tokens=*" %%a in ('"dir /a:-d /b /s "%usb%:\EDrv8_%bit%.exe""') do set exe=%%a& goto :runEDrv8
 
cls
echo.
echo.
echo ────────────────────────────────────────────────────────────────────────────────────────
echo. "%usb%" 에서 "EDrv8_%bit%" 가 포함된 exe 파일을 찾지 못 했습니다
echo ────────────────────────────────────────────────────────────────────────────────────────
echo.     
ping localhost -n 7 >nul
exit

 

찾은 경로로 이동 하여 \EDrv8_25v3\EDrv8_x64.exe를 /a /c /r 옵션으로 실행

└▶ 실행 파일 경로로 이동 후 실행 해야 EDrv8_x64.ini 오류 팝업 발생 안함

:runEDrv8

rem exe의 경로와 파일명 분리
for %%I in ("%exe%") do (
    set "drv_path=%%~dpI"
    set "exe_name=%%~nxI"
)

rem 현재 작업 디렉토리 저장
set "original_cd=%cd%"

rem 작업 디렉토리를 exe 경로로 이동 후 실행하고 대기
pushd "%drv_path%"

if /i "%original_cd%"=="%Windir%\Setup\Scripts" (
    rem Sysprep specialize 구간 : /a /c /r 옵션 사용
    start /wait "" "%exe_name%" /a /c /r
) else (
    rem 일반 윈도우 환경 : 옵션 없이 실행
    start /wait "" "%exe_name%"
)

popd

rem Sysprep 경로에서 실행 중이면 작업 완료 플래그 기록
if /i "%original_cd%"=="%Windir%\Setup\Scripts" if %bit%==x64 (
    echo.>"%tmp%\완료.txt"
    exit
)

if /i "%original_cd%"=="%Windir%\Setup\Scripts" del /f/a/q "%~0" 
exit

 

EasyDrv7 실행 옵션 참고 함

┏━━━━━━━━━┓
┃  EasyDrv7 옵션
┗━━━━━━━━━┻━━━━━━━━━━━━━━━━━
매개 변수:
  /a : 자동 설치
  /c : 드라이버 설치 후 삭제
  /r : 완료 후 컴퓨터 다시 시작
  /u : 드라이버 추출 전용
사용 예) EasyDrv7.exe /a /c /r
┏━━━━━━━━━━┓
┃  EasyDrv7 PE 옵션
┣━━━━━━━━━━┻━━━━━━━━━━━━━━━━
┃오프라인 시스템 드라이버 정리 도구
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━
매개 변수:
  /DelDrvOffline : 정리 도구 창 표시
추가 매개 변수:
  re : 바로 종료하지 않고 EasyDrv7 다시 실행
  a  : 자동 실행
  rb : 완료 후 컴퓨터 다시 시작
사용 예) EasyDrv7.exe /DelDrvOffline=a,rb
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃대상 시스템 드라이버 백업/복원 도구
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━
매개 변수:
  /DrvBackup     : 드라이버 백업 창 표시
  /DrvRecover    : 드라이버 복원 창 표시
추가 매개 변수:
  re : 바로 종료하지 않고 EasyDrv7 다시 실행
  a  : 자동 실행
  rb : 실행 후 컴퓨터 다시 시작
  d  : 백업/복원 위치를 바로 뒤에 큰따옴표로 묶어 지정
사용 예) EasyDrv7.exe /DrvBackup=a,d"C:\DrvBak",rb
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃지연 시작 설정 도구
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━
매개 변수:
  /DelayStartup  : 지연 시작 설정 도구 창 표시
추가 매개 변수:
  re : 바로 종료하지 않고 EasyDrv7 다시 실행
  a  : 자동 실행
  rb : 실행 후 컴퓨터 다시 시작
  t  : 초 단위로 바로 뒤에 지연 시간 지정
  r  : [다시 시작] 단추 선택
  c  : [설치 후 삭제] 단추 선택
사용 예) EasyDrv7.exe /DelayStartup=a,t60,r,c

 

 

EDrv8_25v3자동 설치 - 움짤 GIF

 

반응형

+ Recent posts