Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3868
- Репутация:127[+] [-]
|
dimo70, навёл малость красоты
|
Отправлено: 07-Ноя-2021 17:14
(спустя 1 час 14 минут)
dimo70
- Стаж: 7 лет
- Сообщений: 3787
- Репутация:27[+] [-]
- Откуда: BG
|
Ander_73, У хантера есть еще предложения, не знаю возможно ли сделать? SergeyZV, не учитывает пятерку
_________________ Подпись отключена за нарушение правил форума
|
SergeyZV
- Стаж: 9 лет 9 месяцев
- Сообщений: 1259
- Репутация:34[+] [-]
|
89620не учитывает пятерку Я эту хрень себе не ставлю, проверить не могу.
|
dimo70
- Стаж: 7 лет
- Сообщений: 3787
- Репутация:27[+] [-]
- Откуда: BG
|
_________________ Подпись отключена за нарушение правил форума
|
Отправлено: 07-Ноя-2021 19:56
(спустя 1 час 35 минут)
SergeyZV
- Стаж: 9 лет 9 месяцев
- Сообщений: 1259
- Репутация:34[+] [-]
|
89625Спасибо Ander_73 за код В моём варианте тоже его код.
|
Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3868
- Репутация:127[+] [-]
|
dimo70, SergeyZV, при запуске из подсистемы SysWOW64 (например, из Тоталя х86) батник НЕ покажет фреймворки 5-6.
|
dimo70
- Стаж: 7 лет
- Сообщений: 3787
- Репутация:27[+] [-]
- Откуда: BG
|
Ander_73, да. Я етого заметил. В последний вариант - NETCHK.exe показывает.
_________________ Подпись отключена за нарушение правил форума
|
sam_sobi
- Стаж: 8 лет 9 месяцев
- Сообщений: 199
- Репутация:3[+] [-]
|
|
mat.86
- Стаж: 8 лет 5 месяцев
- Сообщений: 225
- Репутация:1[+] [-]
|
Помогите реализовать такой cmd. Нужно определить версию windows, даже номер сборки и если она ниже определенной то вывод сообщения, если выше продолжать. Нужно чтобы версия windows 10 была 20H1 и выше, в интернете нашел что 20H1 это build 18836.1000. Вообщем до этого я делал такопределение версии windowsSET Version=Unknown VER | FINDSTR /IL "5.0" > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 2000" VER | FINDSTR /IL "5.1." > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows XP" VER | FINDSTR /IL "5.2." > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 2003" VER | FINDSTR /IL "6.0." > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows Vista" VER | FINDSTR /IL "6.1." > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 7" VER | FINDSTR /IL "6.2." > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 8" VER | FINDSTR /IL "6.3." > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 8.1" VER | FINDSTR /IL "6.4." > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 10" VER | FINDSTR /IL "10.0.18836" > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 10" IF %VERSION% == "Windows XP" GOTO XP IF %VERSION% == "Windows 2000" GOTO XP IF %VERSION% == "Windows 2003" GOTO XP IF %VERSION% == "Windows Vista" GOTO xp IF %VERSION% == "Windows 7" GOTO Elevate IF %VERSION% == "Windows 8" GOTO Elevate IF %VERSION% == "Windows 8.1" GOTO Elevate IF %VERSION% == "Windows 10" GOTO Elevate exit :XP @echo Старая версия pause :Elevate @echo Подходит pause Но тут только определения windows, но не сборки. Есть вариант брать версию сборки из реестраreg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild , но не знаю как к этому привязаться. Возможно как то: если версияreg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild ниже, вариант1, если выше или равноreg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild то вариант2.
|
Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3868
- Репутация:127[+] [-]
|
mat.86,for /f "tokens=3,4 delims=.]" %%a in ('ver') do set /a version=%%a,build=%%b+0 echo %version% echo %build%
|
mat.86
- Стаж: 8 лет 5 месяцев
- Сообщений: 225
- Репутация:1[+] [-]
|
Ander_73, Спасибо, работает.сделал такSET Version=Unknown for /f "tokens=3,4 delims=.]" %%a in ('ver') do set /a version=%%a,build=%%b+0 IF %VERSION% LSS 18836 GOTO old IF %VERSION% GEQ 18836 GOTO elevate :old @echo старая версия pause :Elevate @echo подходит pause
|
wadimus
- Стаж: 8 лет 1 месяц
- Сообщений: 749
- Репутация:91[+] [-]
|
for /f "tokens=3" %%a in ('reg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild') do set version=%%a for /f "tokens=3 delims=.]" %%a in ('ver') do set version=%%a у меня выводится 7601 mat.86 достаточно одного if - ведь все версии, меньше некого числа считаются старымиIF %VERSION% GEQ 18836 GOTO elevate @echo старая версия pause exit/b :Elevate @echo подходит pause
|
mat.86
- Стаж: 8 лет 5 месяцев
- Сообщений: 225
- Репутация:1[+] [-]
|
89650у меня выводится 7601 семерка, у меня тоже семерка.достаточно одного if - ведь все версии, меньше некого числа считаются старыми , да, спасибо, сделаю так
|
Страница 62 из 94
Текущее время: 23-Дек 10:46
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|