Показать полную графическую версию : [решено] Как в скрипт добавить строки на проверку, "Windows 10" ?
turbolover
01-07-2016, 13:12
Как в скрипт добавить строки на проверку, "Windows 10" и направить в: ( GOTO Starter ).
Так будет правильно?
@Echo off
SET Version=Unknown
VER | FINDSTR /IL "10.0." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 10.0"
echo.
echo.
IF %VERSION% == "Windows 10.0" GOTO Starter
GOTO Unknown
:Starter
Start Explorer %Systemdrive%\Users\%Username%\AppData
goto end
:End
greg zakharov
01-07-2016, 21:42
start? explorer?! %sys... Ммм, что-то явно пошло не так. Не, findstr можно и так применять, но чтобы бы через errorlevel, как-то однако. Может так будет длинней, но с точки зрения "попадания" версии правильней.
@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims=[]" %%i in ('ver') do set "str=%%i"
set "i=0"
set "dot=0"
:repeat
set "c=!str:~%i%,1!"&set /a "i+=1"
echo:%c%|>nul findstr /rc:"[0-9.]"&&(
if /i "!c!" equ "." set /a "dot+=1"
if !dot! equ 2 goto:next
set "ver=!ver!!c!"
)
if "!c!" equ "" goto:next
goto:repeat
:next
if /i "!ver!" equ "10.0" explorer /n,"%appdata%"
endlocal
exit /b
Так будет правильно? »
Вариантов много.
У меня третья и четвёртая строка были бы (делал лет шесть назад, для более ранних версий, а сейчас проверил конкретно для десятки):
VER | FIND /I "10.0." > NUL
IF NOT ERRORLEVEL 1 SET Version="Windows 10.0"
Если переменная VERSION далее не нужна, то целиком скрипт может (опять же: вариантов много) её не использовать и выглядеть как:
@Echo off
VER | FIND /I "10.0." > NUL
IF ERRORLEVEL 1 GOTO Unknown
:Starter
REM с заменой длинного %Systemdrive%\Users\%Username% на то же самое, но короткое %USERPROFILE%
Start Explorer %USERPROFILE%\AppData
goto end
:Unknown
REM Строки добавить по вкусу
:End
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.