MyTetra Share
Делитесь знаниями!
Определение:версии, разрядности, сборки, семейства операционной системы, разрядности среды, из которой запущен Batch
30.07.2019
22:14
Раздел: Script

Определение:

  • версии,
  • разрядности,
  • сборки,
  • семейства операционной системы,
  • разрядности среды, из которой запущен Batch


Код (DOS):

@echo off
SetLocal EnableExtensions

call :GetSystemVersion "OSVer" "Core" "Build" "Family" "EnvironCore"

echo Версия ОС:      %OSVer%
echo Рязрядность ОС: %Core%
echo Сборка:         %Build%
echo Семейство:      %Family%
echo Разрядность среды запуска Batch: %EnvironCore%

pause
Exit /B

:GetSystemVersion [OSVersion] [OSCore] [OSBuild] [OSFamily] [EnvironmentCore]
:: Определить версию ОС
:: %1-исх.Переменная для хранения названия ОС
:: %2-исх.Переменная для хранения разрядности ОС
:: %3-исх.Переменная для хранения версии сборки ОС
:: %4-исх.Переменная, идентифицирующая семейство ОС (9x, NT, Vista)
:: %5-исх.Переменная, идентифицирующая разрядность среды, из-под которой запущен скрипт
  Set "xOS=x64"& If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set "xOS=x32"
  set "%~2=%xOS%"
  set "%~5=x32"& if "%xOS%"=="x64" echo "%PROGRAMFILES%" |>nul find "x86" || set "%~5=x64"
  set "_key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
  For /f "tokens=2*" %%a In ('Reg.exe query "%_key%" /v "CurrentBuildNumber"^|Find "CurrentBuildNumber"') do set "%~3=%%~b"
  For /f "tokens=2*" %%a In ('Reg.exe query "%_key%" /v "CurrentVersion"^|Find "CurrentVersion"') do set "_ver=%%~b"
  For /f "tokens=2*" %%a In ('Reg.exe query "%_key%" /v "ProductName"^|Find "ProductName"') do set "%~1=%%~b"
  if "%_ver:~0,1%"=="6" (set "%~4=Vista") else (set "%~4=NT")
Exit /B Посмотреть вложение SysVersion.zip

Прикрепленные файлы:
Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования