|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Определение версии (сборки) и сервис пака ОС |
|
CMD/BAT - [решено] Определение версии (сборки) и сервис пака ОС
|
Новый участник Сообщения: 13 |
Профиль | Отправить PM | Цитировать Может кто-нибудь поделится скриптом который возвращает версию ОС и ее сервис пак в консоли , с последующим запуском файла в консоли или подсказать соответствие версии сборок ОС (Nt,2k,2k server,xp, 2k3, vista) сервис пакам для нижеприведенного скрипта.
Цитата:
|
||
Отправлено: 02:10, 27-05-2009 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата Fortress1:
... Start /wait "" "E:\BSPOST\Install\LibreOffice.exe" ... Start /wait "" "c:\Program Files (x86)\Microsoft Office\Options14\MSOO.exe" Цитата Fortress1:
Set xOS=x64& If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 Set PF=%ProgramFiles% If %xOS%==x64 Set PF=%ProgramFiles(x86)% Echo %xOS% %PF% Цитата Fortress1:
|
|||
Последний раз редактировалось gora, 11-02-2013 в 21:47. Отправлено: 15:26, 08-02-2013 | #61 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать @echo off
set SYSTEMID=Windows 7 reg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | find "Windows 8" >nul if "%ERRORLEVEL%" == "0" set SYSTEMID=Windows 8 Set FlDrv=%~d0 Set xOS=x64& If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 Set PF=%ProgramFiles% If xOS==x64 Set PF=%ProgramFiles(x86)% Echo %xOS% %PF% if "%SYSTEMID%" == "Windows 8" ( echo Windows 8 echo Installing Libre Office Start /wait "" "%~d0\BSPOST\Install\LibreOffice.exe" echo Done exit ) echo Windows 7 echo Installing MS Office 2010 Start /wait "" "%PF%\Microsoft Office\Options14\MSOO.exe" echo Done exit На 8ке любой редакции работает без проблем На 7ке х64 все равно выдает ошибку в пути к ПФ (ставит обычную ПФ а не х86) (на ноуте с 8кой определил папку ПФх86 правильно) На 7ке х86 любой редакции работает без проблем (к счастью ноутов сотня так что тестим мгновенно) |
------- Последний раз редактировалось Fortress1, 08-02-2013 в 17:02. Отправлено: 16:25, 08-02-2013 | #62 |
Старожил Сообщения: 182
|
Профиль | Отправить PM | Цитировать Fortress1,
Кстати, ты батник запускаешь прямо непосредственно сам, или из какой-то программы оболочки? Просто если из программы оболочки, то она очевидно 32-битная и запущеный дочерний батник будет тоже считаться 32-битным и переменная %ProgramFiles% ему будет возвращаться как %ProgramFiles(x86)% даже если он запущен на 64-битной системе. Там надо в проге перед вызовом батника отключать перенаправление потоков для 32 битных программ, чтобы переменные отдавались как есть. |
------- Отправлено: 09:35, 09-02-2013 | #63 |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать батник запускаю руками...из проги еще не пробовал
|
------- Отправлено: 10:00, 09-02-2013 | #64 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать @echo off set SYSTEMID=Windows 7 reg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | find "Windows 8" >nul if "%ERRORLEVEL%"=="0" set SYSTEMID=Windows 8 Set FlDrv=%~d0 Set xOS=x64& If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 Set PF=%ProgramFiles(x86)% If %xOS%==x86 Set PF=%ProgramFiles% Echo %%xOS%% - %xOS% Echo %%PF%% - %PF% Echo %%SYSTEMID%% - %SYSTEMID% Echo %%FlDrv%% - %FlDrv% Echo ==================================================== if "%SYSTEMID%"=="Windows 8" ( echo Windows 8 echo Installing Libre Office Start /wait "" "%~d0\BSPOST\Install\LibreOffice.exe" ) Else ( echo Windows 7 echo Installing MS Office 2010 Start /wait "" "%PF%\Microsoft Office\Options14\MSOO.exe" ) echo Done Pause exit |
Последний раз редактировалось gora, 11-02-2013 в 21:40. Отправлено: 09:09, 11-02-2013 | #65 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:54, 11-02-2013 | #66 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:14, 11-02-2013 | #67 |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать Уважаемый Gora
вот скрин этого скрипта, ответ на который выдал системник с х86 ОС Пробовал как из под BSPOST, так и запущенный руками батник....Итог один - х86 система определяет неправильно |
------- Отправлено: 20:59, 11-02-2013 | #68 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Fortress1, исправил.
|
Отправлено: 21:40, 11-02-2013 | #69 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Здравствуйте, Уважаемые Гуру!
Тема очень старая, но может моя информация окажется полезной. В Windows 7 удалось получить часть информации через WMIC. Часть информации через обращение к реестру недоступна, например, при вызове *.bat - файла из-под Total Commander (например, поле CSDVersion раздела HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion). Работает такая схема (на примере получения названия ОС): SET WMICPS=OS SET WMICPARAM=Caption FOR /F "delims=" %%a in ('WMIC %WMICPS% GET /FORMAT:LIST ^| FIND /i "%WMICPARAM%"') do ( FOR /F "tokens=1 delims==" %%b in ("%%a") do (IF "%%b"=="%WMICPARAM%" FOR /F "tokens=2 delims==" %%c in ("%%a") do (SET PARAMVOL=%%c))) Среди прочего по такой схеме: WMICPARAM=OSArchitecture - архитектура ОС WMICPARAM=CSDVersion - версия сервис-пака ("" - без сервис-пака). WMIC также можно использовать для быстрого определения наличия нужного обновления. У меня сработало с использованием временного файла по схеме: |
Отправлено: 22:53, 27-01-2018 | #70 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Управление 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 |
|