(프로그램) DISM으로 윈도우 업데이트 하기
페이지 정보
작성자 INJU 댓글 0건 조회 61회 작성일 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
폴더 안에 여러 개의 .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
댓글목록
등록된 댓글이 없습니다.