Можливі рішення
Нижче наведено декілька пакетних сценаріїв, які можуть перевірити, чи є операційною системою Windows 8.1, з KB2919355 або без нього . Код виходу буде одним із наступних:
0: Windows 8.1
1: Оновлення Windows 8.1 (встановлено KB2919355)
2: Не Windows 8.1
Пакетний сценарій A - перевірка оновлення
Це найнадійніший спосіб. Сценарій спочатку перевіряє, чи є операційною системою Windows 8.1, порівнюючи версію з 6.3.9600. Потім усі встановлені оновлення запитуються, щоб перевірити, чи оновлення KB2919355 вже встановлено.
@echo off
for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G
if not "%version%" == "6.3.9600" exit /b 2
wmic qfe get hotfixid | findstr /i /c:"KB2919355" >nul
set /a errorlevel=%errorlevel% ^^ 1
exit /b %errorlevel%
Пакетний сценарій B - Перевірка версії
В якості альтернативи ви можете перевірити версію збірки Windows, яка швидша за перший сценарій, оскільки не потрібно перераховувати всі оновлення. Оскільки він використовує значення реєстру, він може бути не настільки надійним.
@echo off
for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G
if not "%version%" == "6.3.9600" exit /b 2
for /f "tokens=4 delims=. " %%G in (
'"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "BuildLabEx" | findstr /i /c:"REG_SZ" "'
) do set /a build=%%~G
if %build% geq 17031 exit /b 1
exit /b 0
Пакетний сценарій C - Перевірка версії збірки (Internet Explorer)
Як і попередній сценарій, тут концепція схожа, за винятком того, що перевіряється версія Internet Explorer (IE).
@echo off
for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G
if not "%version%" == "6.3.9600" exit /b 2
for /f "tokens=3,6 delims=. " %%G in (
'"reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v "svcVersion" | findstr /i /c:"REG_SZ" "'
) do set /a major=%%~G & set /a build=%%~H
if %major% equ 11 if %build% geq 17031 exit /b 1
if %major% geq 12 exit /b 1
exit /b 0
Примітка . Сценарій передбачає, що будь-яка версія IE, що перевищує 12, має бути доступною у системі Windows 8.1 із встановленим оновленням KB2919355.
Усі майбутні оновлення безпеки та незахищеності для Windows RT 8.1, Windows 8.1 та Windows Server 2012 R2 вимагають встановити це оновлення. Ми рекомендуємо встановити це оновлення на комп'ютер під керуванням Windows RT 8.1, Windows 8.1 або Windows Server 2012 R2, щоб отримувати подальші оновлення в майбутньому.
Джерело: Windows RT 8.1, Windows 8.1 та оновлення Windows Server 2012 R2: квітень 2014 року
З огляду на вищесказане, розумно думати, що будь-яка нова версія IE потребує оновлення як необхідної умови, подібно до того, як для встановлення IE 9 на Windows Vista потрібно SP2 .