지식 공유/인공지능,자동화 지식

윈도우 프로그램 설치 자동화: 배치 스크립트로 간편하게!

대대소소 2025. 4. 22. 08:22
728x90

윈도우 프로그램 설치 자동화: 배치 스크립트로 간편하게!

새 PC를 설정하거나, 여러 대의 컴퓨터에 동일한 프로그램을 설치해야 할 때, 반복적인 설치 작업은 정말 번거롭습니다. 이럴 때 프로그램 설치 자동화 스크립트를 사용하면 시간을 절약하고 효율성을 높일 수 있습니다. 이번 글에서는 윈도우 배치 스크립트를 사용하여 프로그램 설치를 자동화하는 방법을 소개합니다.

준비물:

  • 설치할 프로그램들의 실행 파일 (.exe)
  • 텍스트 편집기 (메모장, VS Code 등)

1. 배치 스크립트 작성:

다음은 프로그램 설치를 자동화하는 배치 스크립트의 예시입니다.

@echo off
@chcp 65001 > nul
cls

:: 사용자 계정 컨트롤(UAC) 비활성화 (주의!)
reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

:: 프로그램 설치 목록
set "programs=7z2403-x64.exe ALSee841.exe ChromeSetup.exe Creative_Cloud_Set-Up.exe Everything-1.4.1.1024.x64-Setup.exe FileZilla_3.68.1_win64_sponsored2-setup.exe Git-2.46.0-64-bit.exe git-lfs-windows-v3.5.1.exe KakaoTalk_Setup.exe Obsidian.1.5.11.exe OBS-Studio-30.0.2-Full-Installer-x64.exe PotPlayerSetup64.exe PowerToysUserSetup-0.78.0-x64.exe python-3.10.8-amd64.exe python-3.11.9-amd64.exe python-3.12.4-amd64.exe Synology Drive Client-3.4.0-15724-x86.exe VSCodeUserSetup-x64-1.63.2.exe"

:: 설치 파일이 있는 경로 (OneDrive 또는 NAS 경로로 변경하세요)
set "installPath=D:\Setting\program"

:: 각 프로그램 설치
for %%i in (%programs%) do (
    echo Installing %%i...
    start /wait "" "%installPath%\%%i" /S /VERYSILENT /NORESTART
)

:: 설치 완료 메시지
echo All programs have been installed.
pause

2. 스크립트 설명:

  • @echo off: 명령 프롬프트에 명령어를 표시하지 않습니다.
  • @chcp 65001 > nul: 콘솔 출력 인코딩을 UTF-8로 설정하여 한글이 깨지지 않도록 합니다.
  • cls: 화면을 지웁니다.
  • reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f: 사용자 계정 컨트롤(UAC)을 비활성화합니다. (주의: 보안상 위험할 수 있으므로 신중하게 사용하세요.)
  • set "programs=...": 설치할 프로그램 목록을 정의합니다. 각 프로그램 파일명을 공백으로 구분하여 입력합니다.
  • set "installPath=...": 프로그램 설치 파일들이 저장된 경로를 정의합니다. OneDrive 또는 NAS 경로를 사용할 수 있습니다.
  • for %%i in (%programs%) do (...): 프로그램 목록을 순회하며 각 프로그램을 설치합니다.
    • echo Installing %%i...: 현재 설치 중인 프로그램 이름을 화면에 표시합니다.
    • start /wait "" "%installPath%\%%i" /S /VERYSILENT /NORESTART: 프로그램을 자동 설치합니다.
      • start /wait: 프로그램 설치가 완료될 때까지 기다립니다.
      • "": 빈 문자열은 창 제목을 지정하지 않음을 의미합니다.
      • "%installPath%\%%i": 프로그램 실행 파일 경로입니다.
      • /S /VERYSILENT /NORESTART: Inno Setup 기반의 설치 프로그램에 적용되는 자동 설치 옵션입니다. 모든 설치 프로그램이 이 옵션을 지원하는 것은 아닙니다.
  • echo All programs have been installed.: 모든 프로그램 설치가 완료되었음을 알리는 메시지를 표시합니다.
  • pause: 명령 프롬프트 창을 닫지 않고 결과를 확인할 수 있도록 잠시 멈춥니다.

3. 스크립트 수정:

  • :: 사용자 계정 컨트롤(UAC) 비활성화 부분을 제거하거나 주석 처리하여 UAC를 활성화된 상태로 유지하는 것을 권장합니다.
  • set "programs=..." 부분에 실제 설치할 프로그램 파일명을 입력합니다.
  • set "installPath=..." 부분에 프로그램 설치 파일들이 저장된 실제 경로를 입력합니다.
  • 각 프로그램에 맞는 자동 설치 옵션을 확인하고, /S /VERYSILENT /NORESTART 대신 해당 옵션을 사용해야 합니다. 프로그램의 도움말 또는 문서를 참조하여 적절한 옵션을 찾으세요.

4. 스크립트 실행:

  • 작성한 스크립트를 .bat 확장자로 저장합니다. (예: install.bat)
  • 스크립트 파일을 마우스 우클릭하여 "관리자 권한으로 실행"합니다.

5. 주의 사항:

  • UAC를 비활성화하는 것은 보안상 위험할 수 있으므로 신중하게 사용해야 합니다.
  • 각 프로그램에 맞는 자동 설치 옵션을 확인하지 않으면 설치가 실패할 수 있습니다.
  • 설치 파일 경로가 정확한지 확인해야 합니다.
  • 스크립트 실행 전에 필요한 프로그램 파일들이 모두 지정된 경로에 있는지 확인해야 합니다.

6. 추가 팁:

  • 프로그램 목록을 별도의 파일에 저장하고, 스크립트에서 해당 파일을 읽어오는 방식으로 관리하면 프로그램 목록을 수정할 때 스크립트를 수정할 필요가 없습니다.
  • 설치 과정을 로그 파일에 기록하면, 오류 발생 시 원인을 파악하는 데 도움이 됩니다.
  • PowerShell 스크립트를 사용하면 더 강력하고 유연한 자동화 기능을 활용할 수 있습니다.

결론:

배치 스크립트를 사용하면 윈도우 프로그램 설치를 자동화하여 시간을 절약하고 효율성을 높일 수 있습니다. 위에서 설명한 내용을 참고하여 자신에게 맞는 자동화 스크립트를 작성하고, 반복적인 설치 작업에서 벗어나세요!

다음 글에서는 PowerShell을 사용하여 프로그램 설치를 자동화하는 방법을 알아보겠습니다.

728x90