|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Определение версии (сборки) и сервис пака ОС |
|
CMD/BAT - [решено] Определение версии (сборки) и сервис пака ОС
|
Новый участник Сообщения: 13 |
Профиль | Отправить PM | Цитировать Может кто-нибудь поделится скриптом который возвращает версию ОС и ее сервис пак в консоли , с последующим запуском файла в консоли или подсказать соответствие версии сборок ОС (Nt,2k,2k server,xp, 2k3, vista) сервис пакам для нижеприведенного скрипта.
Цитата:
|
||
Отправлено: 02:10, 27-05-2009 |
Ветеран Сообщения: 1202
|
Профиль | Отправить PM | Цитировать Ageron, причем здесь процессор.
Насколько я понял, этот параметр показывает версию системы, а не процессора. http://forum.oszone.net/thread-150321.html |
------- Отправлено: 11:22, 26-04-2012 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Точнее тип системы
и про какие 64-бит процессоры идет речь? На Итаниумы 32-бит винду на поставишь (%PROCESSOR_ARCHITECTURE%=IA64) во всех остальных случаях зависит от разрядности ОС ultra_fs, в русской 7ке ver возвращает Microsoft Windows [Version 6.1.7601] |
Отправлено: 19:38, 30-07-2012 | #42 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Определение языка
тк не на всех русских через VER получается определить В висте и 2008 не проверял - нет под рукой for /f "tokens=4" %%a in ('chcp') do set CP=%%a chcp 1251 >nul 2>nul ver | find "Version">nul && set lng=eng ::Это например для Русской 7ки Professional которая стоит у меня на ноуте - ленгвич паков никаких нет - честно купленная в 2011 коробочная версия set /? | find "переменных среды">nul && set lng=rus ::Это в русском XP и 2003. ver | find "Версия">nul && set lng=rus chcp %CP% >nul 2>nul переключение кодовой страницы - что бы командная find воспринял кодировку 1251 запоминание - что бы по выходу вернуть ее взад |
Отправлено: 20:13, 30-07-2012 | #43 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать По выше приведённым примерам собрал скрипт. Скрипт проверил(рабочий) на Win XP home и Win 7. К сожалению не могу проверить на других осях.
Обращаюсь к специалистам с просьбой проверить скрипт на грамотность написания, и по возможности внести поправки (необходимо, чтобы скрипт работал на всей NT-линейке включая x64): @echo off Cls Echo Сейчас будет создана новая задача для "Prog.exe". Pause Rem Наличие установленной программы: If exist "%ProgramFiles%\Prog\Prog.exe" GoTo More If not exist "%ProgramFiles%\Prog\Prog.exe" GoTo Error :Error Cls Echo Файл "%ProgramFiles%\Prog\Prog.exe" не найден! Echo Продолжение невозможно. Pause Exit Rem Название операционной системы: :More For /F "Tokens=2* Delims= " %%A In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V ProductName^|Find "REG_SZ"') Do Set OS1=%%B Rem Версия операционной системы: For /F "Tokens=2 Delims=[]" %%i In ('ver') Do ( For /F "Tokens=2,3 Delims=. " %%a In ("%%i") Do Set version=%%a.%%b ) If "%version%"=="5.0" GoTo End If "%version%"=="5.1" GoTo End If "%version%"=="5.2" GoTo End If "%version%"=="6.0" GoTo Task If "%version%"=="6.1" GoTo Task If "%version%"=="6.2" GoTo Warning :End Cls Echo На %OS1% отсутствует Echo необходимость в создания данной задачи... Pause Exit :Warning Cls Echo Задача не тестировалась на %OS1%! Echo Введите "Y" чтобы продолжить, Echo или "N" чтобы выйти из программы. :Again Set /p Input=">>> " If /i Not "%Input%"=="N" ( If /i Not "%Input%"=="Y" ( Echo Введите: Y или N GoTo Again ) ) If /i "%Input%"=="Y" GoTo Task If /i "%Input%"=="N" Exit Rem Создание задачи: :Task Cls Echo Создание задачи для "Prog.exe" . . . Rem код дальше... Рассматривал вариант получения версии из реестра: For /F "Tokens=3" %%A In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion^|Find "REG_SZ"') Do Set Version=%%A @Echo %Version% |
Последний раз редактировалось Lucretius, 30-01-2013 в 19:47. Отправлено: 21:43, 23-01-2013 | #44 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Lucretius:
|
|
Отправлено: 21:53, 23-01-2013 | #45 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать Прошу прощения за неточность, начиная с NT 5.0(Win2k).
|
Отправлено: 22:04, 23-01-2013 | #46 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать :: одной строкой - проверка на вин7 русскую х64
ver | find "6.1" >nul && set /? | find "переменных" >nul && if "%ProgramW6432%" Neq "" start /wait vcredist_x64_2012.exe /passive /norestart |
Последний раз редактировалось Super_Kolobok, 30-01-2013 в 21:16. Отправлено: 21:10, 30-01-2013 | #47 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Super_Kolobok:
|
|
Отправлено: 01:36, 31-01-2013 | #48 |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать у меня есть две винды - 7 и 8. Помогите плиз создать батник который будет определять 7 это или 8, после определения запускать ЕСЛИ 7ка ----> MS Office Starter, ЕСЛИ 8ка - Libre Office.
Заранее спасибо Если возможно чтобы этот батник мог это же самое делать, только в зависимости от разрядности системы |
Отправлено: 19:57, 31-01-2013 | #49 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Если вин7х64 то установить Стартер, если х32 то Либру
ver | find "6.1" >nul && if "%ProgramW6432%" Neq "" (start /wait /d "office\Office2010Starter_RU\" SetupConsumerC2R.exe) else (start /wait /d "office\libre\" msiexec /qb! /i LibO_3.6.5_Win_x86_install_multi.msi ALLUSERS=1 CREATEDESKTOPLINK=1 REGISTER_ALL_MSO_TYPES=1 ISCHECKFORPRODUCTUPDATE=0 %LANG%) Если вин8х64 то установить Либру, если х32 то Стартер ver | find "6.2" >nul && if "%ProgramW6432%" Neq "" (start /wait /d "office\libre\" msiexec /qb! /i LibO_3.6.5_Win_x86_install_multi.msi ALLUSERS=1 CREATEDESKTOPLINK=1 REGISTER_ALL_MSO_TYPES=1 ISCHECKFORPRODUCTUPDATE=0 %LANG%) else (start /wait /d "office\Office2010Starter_RU\" SetupConsumerC2R.exe) |
Последний раз редактировалось Super_Kolobok, 01-02-2013 в 17:33. Отправлено: 11:15, 01-02-2013 | #50 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Управление FireWall через GPO на Windows без сервис пака. | exo | Microsoft Windows NT/2000/2003 | 3 | 28-09-2009 12:52 | |
Разное - [решено] Изменение метки установленного сервис пака | Midge | Microsoft Windows 2000/XP | 1 | 24-05-2009 23:02 | |
Microsoft официально запускает XP SP3. Чего следует ожидать от нового сервис пака? | OSZone News | Новости и события Microsoft | 8 | 23-04-2008 08:09 | |
Определение версии сервис пака по файлам дистрибутива | Sparkster | Microsoft Windows 2000/XP | 3 | 07-05-2007 22:26 | |
Как изменить версию сервис пака | tualatin | Microsoft Windows NT/2000/2003 | 12 | 10-06-2005 17:03 |
|