PDA

Показать полную графическую версию : [решено] В переменную версию Windows


sov44
10-07-2013, 09:24
Подскажите, как вывести через findstr в переменную версию Windows

Iska
10-07-2013, 10:34
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq" %%i in (
`wmic.exe OS get Version /value ^|find.exe /i "Version"`
) do set s%%i

if defined sVersion echo [%sVersion%]

endlocal
exit /b 0

sov44
10-07-2013, 10:45
Iska, а можно получить версию с помощью регулярных выражений через команду ver, по аналогии с постом http://forum.oszone.net/thread-264063.html ?

Iska
10-07-2013, 11:12
А что нам дадут регулярные выражения? Строка-то возвращается целиком.

@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq tokens=2 delims=[]" %%i in (`ver`) do for /f "tokens=2" %%j in ("%%~i") do set sVersion=%%j

if defined sVersion echo [%sVersion%]

endlocal
exit /b 0

sov44
10-07-2013, 11:20
С циклом-то я без проблем выведу версию. Просто, увидев смежную тему, хотел получить ликбез по регулярным выражениям по разбору ver. :)

Iska
10-07-2013, 11:50
sov44, ещё раз: «findstr.exe», как и «find.exe» — построчные фильтры. Вы можете с их помощью отобрать потребную строку среди прочих строк (в том числе и по регулярным выражениям — посредством первой). Но они не предназначены для извлечения частей строки.




© OSzone.net 2001-2012