크롬, 반디집, 카카오톡, 디스코드, 포토샵… 업무용 컴퓨터에 깔려 있는 수십 개의 소프트웨어들, 다들 어떻게 업데이트하시나요? 예전에는 저도 프로그램 하나하나 켜서 ‘새 버전 확인’을 누르거나 블로그나 공식 홈페이지를 찾아 헤맸거든요. 그러다 보니 귀찮아서 업데이트를 미루게 되고, 결국 보안 취약점 경고가 뜨거나 호환성 문제로 소프트웨어가 뻗어버리는 실수를 반복하기 일쑤였습니다.
“윈도우 10/11 기본 내장 도구 하나면, 복잡한 프로그램 일괄 업데이트를 명령어 단 한 줄로 해결할 수 있습니다.”
사실 윈도우에는 winget(Windows Package Manager)이라는 패키지 관리자가 기본적으로 탑재되어 있습니다. 별도의 유틸리티 설치 필요 없이, 명령 프롬프트(CMD) 창에 단 한 줄만 입력하면 PC에 설치된 모든 프로그램의 최신 버전을 찾아서 자동으로 내려받고 설치를 진행해 줍니다.
이번 글에서는 기본적인 winget 일괄 업데이트 방법부터, 버전이 변경되면 곤란한 특정 프로그램만 업데이트에서 제외하는 방법(winget pin), 그리고 클릭 한 번으로 실행하는 자동 배치 파일 스크립트 작성법까지 낱낱이 파악해 보겠습니다.
1. 명령 프롬프트(CMD) 실행 및 상태 확인
우선 프로그램을 설치하고 덮어쓰는 작업이기 때문에 관리자 권한으로 명령프롬프트 창을 띄워야 오류 없이 실행됩니다.
- 윈도우 작업 표시줄의 검색창에 cmd를 입력합니다.
- 검색 결과로 나온 명령 프롬프트를 마우스 우클릭하여 ‘관리자 권한으로 실행’을 클릭합니다.
바쁜 업무 중에 마우스 우클릭을 일일이 하기 귀찮으시다면, 키보드 단축키 Win + X를 누른 뒤 A(터미널 관리자 또는 명령 프롬프트 관리자)를 차례대로 누르면 가장 빠르게 관리자 CMD 창을 띄울 수 있더라고요.
2. 명령어 한 줄로 일괄 업데이트 진행하기
📋 단계별 실행 명령어
업데이트가 필요한 프로그램 목록을 사전에 확인하려면 아래 명령어를 입력합니다.
winget upgrade
명령어를 입력하면 현재 내 PC에 설치된 프로그램 중 업데이트가 필요한 녀석들의 이름, ID, 현재 버전, 최신 버전이 표로 쭉 정렬되어 나타납니다. 어떤 게 업데이트되는지 한눈에 보이니까 관리하기가 굉장히 편리하죠.
사실 매번 목록을 들여다볼 여유가 없거든요. 그냥 아래의 전체 업데이트 명령어로 바로 직행하시는 경우가 대부분입니다.
목록에 있는 모든 소프트웨어를 한꺼번에 최신 버전으로 갱신하려면 아래 명령어를 입력해 주면 됩니다.
winget upgrade –all
실행되면 파일들을 순차적으로 다운로드하고 백그라운드로 알아서 설치합니다. 진행 도중 사용 라이선스나 계약서 동의 문구인 소스 약관에 동의하십니까? (Y/N)가 나오는데, 이때 Y를 입력하고 엔터를 치시면 됩니다.
🚀 무인 자동 모드로 동의 과정까지 생략하기
이마저도 지켜보고 있기 번거롭다면, 동의 절차를 미리 생략하는 옵션을 추가하여 실행할 수 있습니다.
winget upgrade –all –accept-source-agreements –accept-package-agreements
이렇게 입력하면 모니터를 쳐다보며 키보드를 두드릴 필요가 없어서, 화장실에 다녀오거나 커피 한 잔 타 오면 알아서 모든 업데이트가 끝나 있습니다.
3. 특정 프로그램 업데이트 제외하기 (winget pin)
회사에서 다루는 특수한 소프트웨어나 오토캐드, CATIA 같은 설계 툴, 혹은 특정 구버전 호환이 필수적인 프로그램(예: 특정 구버전 Java JDK 등)은 무작정 최신 버전으로 올라가면 라이선스 만료나 기능 먹통 현상이 발생할 수 있거든요.
이럴 때는 winget의 핀(Pin) 고정 기능을 활용하여 일괄 업데이트 대상에서 완전히 차단시킬 수 있습니다.
📌 제외할 프로그램 ID 확인
먼저 차단할 프로그램의 정확한 ID를 알아야 합니다. winget upgrade를 쳤을 때 나타나는 2번째 열의 ‘ID’를 복사하거나, 아래의 검색 명령어를 사용하여 조회합니다.
winget list –name autocad
📌 프로그램 업데이트 영구 제외 설정
제외할 프로그램의 ID를 확인했다면, 아래의 핀 추가 명령어를 실행해 줍니다.
winget pin add –id Autodesk.AutoCAD
# 만약 ID 대신 제품 이름으로 고정하고 싶다면
winget pin add –name “AutoCAD 2024”
이제부터는 winget upgrade –all 명령을 날려도 오토캐드는 업데이트되지 않고 현재 버전 상태를 고스란히 유지하게 됩니다.
📌 제외 목록 확인 및 해제 방법
내가 제외(고정)해 둔 프로그램 목록을 보거나, 다시 차단을 해제하고 싶을 때는 아래 명령어를 씁니다.
winget pin list
# 고정 해제하여 다시 업데이트 가능하게 만들기
winget pin remove –id Autodesk.AutoCAD
사내 내부 전용 ERP 프로그램이나 웹 보안 인증 모듈(XecureWeb, IPinside 등)은 업데이트 대상에 잡혀서 버전이 강제로 올라가면 브라우저 접속 자체가 먹통이 되는 대참사가 종종 발생합니다. 의심스러운 프로그램들은 귀찮더라도 처음에 무조건 winget pin add 명령어로 차단 리스트에 올려두는 것을 권장합니다.
4. 바탕화면 바로가기 업데이트 스크립트(.bat) 만들기
매번 관리자 CMD 창을 켜고 긴 영문 명령어를 입력하는 것마저 귀찮은 분들을 위해, 마우스 더블클릭만으로 동작하는 배치 스크립트 파일을 만들어 사용해 보기를 제안합니다.
📄 1분 완성 배치 파일 작성법
- 바탕화면 빈 곳을 마우스 우클릭하여 새로 만들기 → 텍스트 문서를 클릭합니다.
- 생성된 텍스트 문서의 파일 이름을 winget_update.bat으로 변경합니다.
※ 뒤의 확장자가 반드시 .txt가 아닌 .bat이어야 정상 작동합니다. 만약 안 보인다면 파일 탐색기 상단의 ‘보기’ → ‘표시’ → ‘파일 확장명’을 체크하세요. - 파일을 메모장으로 열고 아래 코드를 그대로 복사해서 붙여넣습니다.
echo ===================================================
echo 윈도우 설치 프로그램 일괄 업데이트 (winget)
echo ===================================================
echo.
echo [1단계] 업데이트 대상 프로그램을 검색하고 있습니다…
winget upgrade
echo.
echo —————————————————
echo [2단계] 자동 승인 옵션으로 일괄 업데이트를 실행합니다.
winget upgrade –all –accept-source-agreements –accept-package-agreements
echo.
echo ===================================================
echo 모든 프로그램 업데이트가 종료되었습니다.
echo ===================================================
pause
- 메모장을 저장하고 닫습니다.
🖱️ 스크립트 실행 및 실무 활용
방금 만든 winget_update.bat 파일을 실행할 때는 반드시 마우스 우클릭 → ‘관리자 권한으로 실행’을 클릭하여 실행하셔야 정상적으로 윈도우 시스템 레벨의 업데이트가 수행됩니다.
보통 팁 글들을 보면 이 배치 파일을 윈도우 ‘작업 스케줄러’에 등록해서 매일 새벽마다 자동 실행되도록 하라고 추천하곤 합니다. 하지만 실무에서는 강력하게 비추천합니다. 업무 중에 나도 모르게 백그라운드에서 크롬이나 엑셀이 강제 업데이트되면서 작업 중이던 창이 닫혀 데이터가 날아갈 수 있거든요. 한 달에 한 번 수동으로 더블클릭해서 실행하는 방법이 훨씬 안전하고 통제하기 좋습니다.
5. 윙겟(winget) 사용 시 참고할 한계점
엄청나게 편리한 도구임은 틀림없지만, 만능은 아니기에 다음과 같은 프로그램들은 지원 범위에서 벗어납니다.
- 자체 런처 프로그램: Adobe Creative Cloud(포토샵, 일러스트 등), 카카오톡 자체 업데이트 시스템 등은 winget 업데이트 명령이 중간에 멈추거나 먹통이 되는 경우가 종종 발생합니다. 이들은 기존처럼 런처 내부 팝업을 활용하는 것이 깔끔합니다.
- 버전 관리가 불명확한 프로그램: 윈도우 설정의 제어판 목록에서 현재 버전 정보를 윈도우에 넘겨주지 않는 조잡하게 만들어진 구형 프로그램들은 –include-unknown 옵션을 덧붙여 주어야 검색에 걸리기도 합니다.
마치며
결론적으로 관리자 권한 CMD 열기 → winget upgrade –all 이 공식 하나만 외워 두거나, 만들어 둔 배치 파일 우클릭 실행 습관만 들여놓으시면 프로그램 업데이트 때문에 낭비하는 퇴근 시간을 매달 30분 이상은 거뜬히 아낄 수 있을 거라고 장담합니다.
사무실 옆자리 동료들의 컴퓨터가 자꾸 느려진다고 하거나 프로그램이 안 켜진다고 징징대면, 조용히 이 배치 파일 하나 메신저로 보내주세요. 센스 만점 사원으로 점수 좀 따실 수 있을 겁니다.