(프로그램) DISM으로 윈도우 업데이트 하기

페이지 정보

작성자 INJU 댓글 0건 조회 65회 작성일 26-06-25 19:03

본문

윈도우 업데이트 파일 MSU을 윈도우 카달로그에서 직접받아서 설치하기 위한 BAT파일 구성

폴더 안에 여러 개의 .msu 파일이 있을 때 목록을 보여주고, 사용자가 번호를 입력해 원하는 파일을 선택해서 설치하도록 스크립트입니다.

setlocal enabledelayedexpansion: 배치 파일에서 루프문을 돌며 [!count!] 형태로 번호를 매겨 변수(배열)를 저장할 수 있게 해줍니다.
set /p 명령어 추가: 화면에 목록을 띄워준 뒤, 키보드로 숫자를 입력받아 대기하도록 만들었습니다.
유효성 검사: 파일이 3개뿐인데 4번을 입력하거나 문자를 입력하는 경우 튕기지 않도록 방어하는 코드를 추가했습니다. 0을 입력하면 취소할 수도 있습니다.

아래 내용을 복사해서 메모장에 넣으시고 *****.BAT으로 저장하시고 사용하시면 됩니다.

@echo off
:: 한글 깨짐 방지를 위해 콘솔 코드 페이지를 UTF-8로 변경
chcp 65001 >nul

:: 배치 파일이 있는 현재 폴더로 이동
pushd "%~dp0"

:: 배열 변수 사용을 위한 지연된 확장 활성화
setlocal enabledelayedexpansion
title Windows Update Installer

echo 관리자 권한을 확인 중입니다...
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo [오류] 관리자 권한으로 실행해야 합니다.
    echo 파일을 마우스 오른쪽 버튼으로 클릭하여 '관리자 권한으로 실행'을 선택하세요.
    pause
    exit /b
)

echo.
echo ========================================
echo      폴더 내의 MSU 파일 목록
echo ========================================

:: MSU 파일을 찾아 번호를 매겨서 출력
set count=0
for %%f in (*.msu) do (
    set /a count+=1
    set "file[!count!]=%%f"
    echo [!count!] %%f
)

:: 파일이 없을 경우 예외 처리
if %count%==0 (
    echo [오류] 폴더 안에 .msu 파일이 없습니다.
    pause
    exit /b
)

echo ========================================
echo.

:: 사용자에게 번호 입력받기
set /p choice="설치할 파일의 번호를 입력하세요 (종료하려면 0 입력): "

:: 0을 입력하면 종료
if "%choice%"=="0" (
    echo 설치를 취소하고 종료합니다.
    pause
    exit /b
)

:: 입력값이 유효한지 확인 (1부터 count 사이의 숫자인지)
if %choice% gtr %count% (
    echo [오류] 목록에 없는 번호입니다. 스크립트를 다시 실행해주세요.
    pause
    exit /b
)
if %choice% lss 1 (
    echo [오류] 잘못된 입력입니다. 스크립트를 다시 실행해주세요.
    pause
    exit /b
)

:: 선택한 파일명을 변수에 저장
set "SELECTED_FILE=!file[%choice%]!"

echo.
echo ----------------------------------------
echo 선택된 파일: %SELECTED_FILE%
echo 설치를 시작합니다. 잠시만 기다려 주세요...
echo ----------------------------------------
echo.

:: DISM 명령 실행
dism /online /add-package /packagepath:"%cd%\%SELECTED_FILE%"

echo.
echo 작업이 완료되었습니다.
pause

댓글목록

등록된 댓글이 없습니다.

Copyright 2019-2021 © 에티테마