turbolover |
01-07-2016 13:12 2647140 |
Как в скрипт добавить строки на проверку, "Windows 10" ?
Как в скрипт добавить строки на проверку, "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 2647317 |
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
|
Время: 08:45.
© OSzone.net 2001-