Labs.dedesoso ACTIVITIES

대대소소의 연구소 입니다.

ABOUT US

블로거 대대소소가 운영하는 블로그입니다. 다양한 정보와 인사이트를 공유합니다.

INNOVATION

최신 기술과 트렌드를 통해 혁신적인 컨텐츠를 제공합니다.

CONTENT

유용하고 흥미로운 컨텐츠를 지속적으로 업데이트합니다.

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

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