Главная
Форумы
Новые сообщения
Поиск сообщений
Что нового?
Новые сообщения
Новые ресурсы
Последняя активность
Ресурсы
Последние отзывы
Поиск ресурсов
Помощь форуму
ЧатTG
Вход
Регистрация
Что нового?
Поиск
Поиск
Искать только в заголовках
От:
Новые сообщения
Поиск сообщений
Меню
Вход
Регистрация
Приложение
Установить
Форумы
Форум программистов
Пакетные файлы CMD, BAT
Помощь по функции GetSystemVersion
JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать
другой
.
Ответить в теме
Сообщение
[QUOTE="Dragokas, post: 160679, member: 6966"] Делай как красивше -)) В логовыжималке будет так: - это скомбинированный BAT + JS файл без создания вспомогательных с возможностью выбора какую ветку JS-скрипта выполнять: - та, что повышает привилегии; - или та, что выводит Popap (msgbox). Демо: [code=batch]@echo off SetLocal EnableExtensions EnableDelayedExpansion chdir /d "%~dp0" call :GetSystemVersion "OSVer" "Core" "Build" "Family" "EnvironCore" :UAC IF "%Family%"=="Vista" if /i "%~1" neq "Admin" cscript.exe //nologo //e:jscript "%~f0" "Run" "Admin"& Exit :: Кнопки ДА/НЕТ call :msgbox " Архив SIT поврежден. & Хотите скачать его еще раз?" YesNo if errorlevel 1 (echo Ответ ДА) else (echo Ответ НЕТ) :: А здесь только ОК call :msgbox "Выполните инструкцию, затем нажмите ОК." OK pause exit /B :msgbox [Сообщение] [Вид кнопок - YesNo или OK] :: JS-имитация окна MSGBOX с возвратом кода ошибки при нажатой клавише: 0 - Нет, 1 - Да] if /i "%~2"=="YesNo" (set ButtonConst=36) else (set ButtonConst=64) for /f %%a in ('cscript.exe //nologo //e:jscript "%~f0" "Msgbox" "%~1" "%ButtonConst%"') do set msg_err=%%a if "%msg_err%"=="6" set "msg_retCode=1" if "%msg_err%"=="7" set "msg_retCode=0" Exit /B %msg_retCode% :GetSystemVersion [OSVersion] [OSCore] [OSBuild] [OSFamily] [EnvironmentCore] Set xOS=x64& If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x32 set %~5=x32& if "%xOS%"=="x64" echo "%PROGRAMFILES%" |>nul find "x86" || set %~5=x64 set "%~2=%xOS%" 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 */switch (WScript.Arguments(0)) { case "Run": { switch (WScript.Arguments(1)) { case "Admin": { new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1); break; } } } case "Msgbox": { WScript.Echo (new ActiveXObject('WScript.Shell').Popup (WScript.Arguments(1).replace(/&/g,'\n'),-1,'',+WScript.Arguments(2))); break; } }[/CODE] [B]поврежден. & Хотите[/B] - знак & в моей функции используется как перенос строки. [/QUOTE]
Вставить цитаты...
Проверка
Ответить
Форумы
Форум программистов
Пакетные файлы CMD, BAT
Помощь по функции GetSystemVersion
Сверху
Снизу