강좌 / 팁

윈 도 우 (수정5) 윈도우 버전구분 배치파일

2024.03.23 12:29

메리아 조회:1207 추천:14

 

질답란에서 윈10과 윈11 구분 얘기를 하다보니

배치파일에서 윈11 등의 구분에 대해 오인되는 부분이 있어서 정리하고자 합니다.

 

 

가장 최선의 구분법)

- 현재는 cmd의 ver 명령이나 레지스트리를 읽어서는 구분을 정확하게 할 수 없음.

그러므로

wmic OS GET Caption /value 명령을 이용해야함.

예시)

set "osCaption=x"

for /f "skip=1 tokens=2 delims==" %%i in ('wmic OS GET Caption /value') do for /f "delims=" %%j in ("%%i") do set "osCaption=%%j"

echo osCaption : %osCaption%

위를 문자열로 읽어서 구분

- 예시)

"Microsoft Windows 11 Pro" 이런식으로 뜨면

"Windows 11" 같은 부분을 읽어야함. 어느정도 규격화 되어 있어서 구분하기 좋음.

(아래 레지스트리에서 ProductName과 유사하나 ProductName의 값이 윈11에서는 업데이트 안되고 10으로 표시됨.

그러므로 wmic OS로 해야함.)

 

 

기존방식의 문제점)

- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 에서 CurrentVersion 읽기

  -> 6.3에서 멈춰서 6.3에 해당하는 8.1부터 구분불가

- 상동의 레지스트리에서 ProductName 읽기

  -> 윈10까지는 쓸 수 있는데, 윈11부터는 업데이트 중지되고 10으로 표시됨.

- cmd창에서 ver 명령 결과 읽기

  -> 윈11 23H2의 결과값 : Microsoft Windows [Version 10.0.22631.2428]

      윈10에서부터 계속 10.0으로만 표시되고 빌드만 올라가므로 구분불가(단, 윈11 빌드번호는 2xxxx이므로 이걸로 구분은 가능)

 

 

릴리즈 구분할때)

1511이라거나 23H2같은 값을 구분할 필요가 있을때가 있음(윈10인지 윈11인지는 표시안됨)

이건 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 에서 읽어서 구분가능

- ReleaseId : 2009(20H2) 이전까지만 구분가능. 이후 버전은 모두 그냥 2009로 표시됨.

- DisplayVersion : 2009부터는 이 값에서 표시됨. 그러므로 ReleaseId 먼저 읽어서 2009일때 이걸 읽어야함.

- CurrentBuildNumber : 빌드번호로서 종종 처리상 기준점이 됨. 10.0.xxx.yyy 혹은 10.0.xxx 일때 xxx를 가리킴.(XP에도 있음)

- UBR : 윈10부터 들어가는 리비전번호. 이게 필요할때가 드물게 있음. 10.0.xxx.yyy 일때 yyy를 가리킴.

 

- ProductName : 사용불가. wmic OS GET Caption 결과와 유사하나, 윈11에서는 업데이트 중지되어 10으로 표시되는 결함이 있음.

 

 

 

자세한 배치파일 적용내용은 첨부파일을 참고하세요.

 

 

 

참고로 배치파일 ver명령에서 볼 수 있는 버전표는 다음과 같습니다

(10~11이 평균이 된 요즘 시대에서는 쓰기가 좀 어렵죠 ㅠㅠ)

 

ver (command) - Wikipedia

https://en.wikipedia.org/wiki/Ver_(command)

 

Windows 2000           5.0

Windows XP             5.1

Windows Server 2003    5.2

Windows Vista          6.0

Windows Server 2008    6.0

Windows 7              6.1

Windows Server 2008 R2 6.1

Windows 8              6.2

Windows Server 2012    6.2

Windows 8.1            6.3

Windows Server 2012 R2 6.3

Windows 10             10.0

Windows Server 2016    10.0

Windows Server 2019    10.0

Windows Server 2022    10.0

Windows 11             10.0

 
(메모장에서는 간격이 맞는데 여기서는...ㅠㅠ)
 

 

추가)

첨부파일에 문제가 있어 좀 수정했습니다.

원래 숫자로 처리할땐 편했는데(?), 마소에서 숫자 구분법을 다 이상하게 만들어버리고 나니,

문자열로 처리해야되어서 새롭게 만들다보니, 중복된 이름이 나오는걸 깜빡 잊고 처리를 안했네요. ㅠㅠ

server 2012나 server 2012R2

윈 8 이나 윈 8.1

이런게 제대로 처리 안되는걸 놓쳤었네요.

기본 구분시 숫자구분이 거의 의미없어져서 숫자구분 괜히 없애고 줄이려다 이상하게 됐었군요. ㅠㅠ

 

추가2)

다양한 OS를 다 설치해볼수가 없어서 충분한 테스트를 못했는데

어차피 문자열에 관련된 부분이라 문자열을 임의로 넣고 테스트 했더니 많이 꼬였더군요.

한번 수정해서 올렸는데도 그것도 틀린게 있어서 다시 고쳤고,

계속 고치고 보니 또 복잡한게 늘어서 다시 버전 숫자 불러내는 방식을 부활시켜서 수정했습니다.

그냥 버전숫자를 6.3 이전까지는 활용하는게 낫더라구요.(사실 원래 넣었다가 불필요해 보여서 뺐었는데 더 복잡해졌기에 다시 씀)

 

이제는 정말 XP~11까지 확실히 처리할거라 봅니다만, 또 빼먹은게 있을지 모르겠네요. ㅠㅠ

 

추가3)

결국 또 실수가 있었네요. 윈서버 2022를 윈11베이스로 오인하고 있었습니다.

사실 윈11이 아주 약간 섞이기도 했고 빌드도 2xxxx로 시작해서 오해했네요.

시기상 애매하긴 해도 윈서버 2022의 기반은 윈10이 맞다는군요. ㅠㅠ(저는 2012R2랑 2016, 2019만 써봐서 몰랐음 ㅠㅠ)

 

그래서 수정5는 서버2022는 윈10으로 분류하는 수정을 했습니다.

지속적인 혼란을 드려 죄송합니다. ㅠㅠ

(이제는 더 업뎃이 없으리라 생각하지만 벌써 실수가 5번째니 확답은 못드리겠습니다 ㅠㅠ)

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
3960 하드웨어| 파워 서플라이 배선도 [10] DOS 6238 13 06-27
3959 윈 도 우| 윈도 부팅파일이 엉뚱한 곳에 있을 때 대처 방법 [27] suk 4239 13 05-19
3958 윈 도 우| 탐색기 외장드라이브 중복표시 제거 팁 [18] 돌돌이냥 9486 13 09-20
3957 소프트웨어| 포토샵 기술 326가지 [24] DOS 6574 13 11-30
3956 윈 도 우| 간편한 Windows 10 기본앱 제거 스크립트 (한글화) [17] 펀치 10853 13 08-16
3955 윈 도 우| 하드에 WIN PE 설치하기 [15] gooddew 10946 13 04-26
3954 윈 도 우| 윈도우 8.1 부팅후 Bing 사이트가 자동으로 열릴때 [30] DOS 13146 13 10-14
3953 기 타| 한글 워드프로세서에서 고정글꼴, 가변글꼴 이용하기 [5] 고양이2 5464 13 08-02
3952 윈 도 우| PE를 가상에서 구경하기(월드 PE) [25] suk 8496 13 05-27
3951 소프트웨어| 마우스제스처 StrokeIt 사용법 - (본문 수정) [35] 고양이2 5173 13 12-17
3950 소프트웨어| RSMBRTool로 숨김파티션(EISA) 이용하기 [36] 하늘보기 16346 13 05-11
3949 윈 도 우| WIN PE의 ISO파일 풀고 wim파일 만으로 SETTING 방법 [8] k-style 25081 13 01-29
3948 윈 도 우| grub 와 NTBOOT 를 이용하여 간단한 명령줄로 wim 파일 부... [11] 100esa 22024 13 12-17
3947 서버 / IT| k-style님의 간단하게 유투브 동영상 받기 강좌 그림 설명 [17] 일교차 18657 13 03-07
3946 소프트웨어| AOMEI Backupper 백업실패 및 글씨 안보임 문제해결법 [5] 『ⓖⓤⓝ』 768 12 04-12
3945 윈 도 우| SSD 에서 파일 삭제를 주의해야 되는 이유 [3] gooddew 2248 12 04-10
3944 윈 도 우| 22621.3296 22631.3296 업데이트 주의. [9] 타천사둘리 2221 12 03-14
3943 윈 도 우| 윈도우11 22h2 빌드 이상에서 구형 cpu 성능분배 버그 해결... [2] 내가와따ooo 5174 12 10-26
3942 윈 도 우| cmd 관리자 권한 실행과 특수문자 경로 문제 [9] 메리아 1100 12 02-14
3941 소프트웨어| WimLib Api 백업.복원 미완성. 샘플 7가지. [10] 입니다 914 12 03-27
XE1.11.6 Layout1.4.8