@tooljpさんをフォロー

ver コマンド結果の OS による違い | Windows

このページではコマンドプロンプトの ver コマンドで OS のバージョンを判定する方法を紹介します。もし OS をバージョンアップする場合、(バッチプログラム内で使用しているなら)修正が必要です。


OS ver コマンドの結果 (Microsoft Windows [Version X.Y.7601])
Windows XP (32bit) 5.1 (*)
Windows XP (64bit) 5.2
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

以下は OS のバージョンを判定するサンプルプログラムです。ダウンロードはこちらから GetOSVer.bat.txt (拡張子のtxtを削除してください)

(*)Windows XPの場合は ver コマンドで 追加で XP と出力してくれるので、find コマンドで直接チェック可能です。

◆◆◆◆◆ GetOSVer サンプル ◆◆◆◆◆


@echo off

REM ****************************************************************
REM * *
REM * OS 判定プログラムサンプル *
REM * find /I の戻り値 *
REM * 一致する文字が有る:%ERRORLEVEL% は 0を返す *
REM * 一致する文字が無い:%ERRORLEVEL% は 1を返す *
REM * /I 大文字小文字を区別しないオプション *
REM * *
REM * Copyright (C) tooljp.com 2013 *
REM * http://www.tooljp.com/ *
REM * *
REM ****************************************************************


ver | find /I "2000" > nul
if %ERRORLEVEL% equ 0 echo "Windows 2000"

ver | find /I "XP" > nul
if %ERRORLEVEL% equ 0 echo "Windows XP 32bit"

ver | find /I "Version 5.2." > nul
if %ERRORLEVEL% equ 0 echo "Windows XP 64bit あるいは Windows Server 2003"

ver | find /I "Version 6.0." > nul
if %ERRORLEVEL% equ 0 echo "Windows Vista あるいは Windows Server 2008"

ver | find /I "Version 6.1." > nul
if %ERRORLEVEL% equ 0 echo "Windows 7 あるいは Windows Server 2008 R2"

ver | find /I "Version 6.2." > nul
if %ERRORLEVEL% equ 0 echo "Windows 8 あるいは Windows Server 2012"

ver | find /I "Version 6.3." > nul
if %ERRORLEVEL% equ 0 echo "Windows 8.1 あるいは Windows Server 2012 R2"



[Windows 7 への移行時のポイントに戻る]