|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как проверить разрядность операционной системы? |
|
CMD/BAT - [решено] Как проверить разрядность операционной системы?
|
Пользователь Сообщения: 99 |
Профиль | Отправить PM | Цитировать Как проверить разрядность операционной системы?
У виндоуз 7 есть 2 версии: 64-х разрядная и 32-х разрядная. Для 64-х разрядной нужно, чтобы выполнялись дополнительные программы. Как это сделать в коммандом файле? |
|
Отправлено: 22:50, 08-04-2010 |
Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать в реестре ветки добавляются у 64-х, но как проверить?
|
Отправлено: 22:52, 08-04-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать @Echo Off :: Варианит 1 Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 Echo %xOS% Pause :: =================================================================================== :: Варианит 2 Set xOS=x86 If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 Echo %xOS% Pause :: =================================================================================== :: Запуск приложений в зависимости от разрядности из разных папок с именами x64 и x86 Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 "c:\My Test\%xOS%\install.exe" /S :: =================================================================================== :: Запуск приложений в зависимости от разрядности из одной папки с именами сожержащими суффикс x64 и x86 (install_x64.exe и install_x86.exe) Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 "c:\My Test\install_%xOS%.exe" /S :: =================================================================================== :: Запуск приложений в зависимости от разрядности из разных папок, с разными именами и/или ключами Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 If %xOS%==x86 ("c:\My Test\i86\install.exe" /S) Else ("c:\My Test\AMD64\setup.msi" /qn) |
Последний раз редактировалось gora, 24-01-2013 в 09:08. Причина: добавил решения для часто повторяющихся вопросов Отправлено: 22:53, 08-04-2010 | #3 |
Старожил Сообщения: 182
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 23:55, 08-04-2010 | #4 |
Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать PATH %PATH%;q:;w:;e:;r:;t:;y:;u:;i:;o:;p:;a:;s:;d:;f:;g:;h:;j:;k:;l:;z:\;x:;c:;v:;b:;n:;m:;
"%WINDIR%\regedit.exe" /s 32x.reg Set xOS=x86 If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 if "%xOS%"=="x64" "%WINDIR%\regedit.exe" /s 64x.reg в реестр ничего не добавляет, а если убрать /s то предлагает добавить в реестр, что требует действия пользователя, что неудобно. Как убрать запрос? 64x.reg находится на сетевом диске z:\ |
|
Отправлено: 14:00, 09-04-2010 | #5 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать SvoiLudi, на форуме
Цитата:
|
|
Отправлено: 15:10, 09-04-2010 | #6 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Извините, если не в тему, но не получается корректно обработать запуск программы в зависимости от разрядности системы
Пример:
Задача: создать почти универсальный установочный bat-файл. Менять только значение переменных в самом начале В данном скрипте почему-то съедается скобка в пути у Programm Files (x86 |
Отправлено: 12:34, 01-06-2012 | #7 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата vcrank:
@ECHO OFF SET ProgName=WinRar SET ProgVer=4.20 Beta 3 SET FileNameX86=wrar420b3ru.exe SET FileNameX64=winrar-x64-420b3ru.exe SET FileName= SET PFPath= TITLE %ProgName% %ProgVer% CLS COLOR 1A Set xOS=x86 If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 SET FileName=%FileNameX86% SET PFPath=%PROGRAMFILES(x86)% IF %xOS%==x64 ( IF DEFINED FileNameX64 ( SET FileName=%FileNameX64% SET PFPath=%PROGRAMFILES% ) ) ELSE ( SET FileName=%FileNameX86% SET PFPath=%PROGRAMFILES% ) ECHO PFPath=%PFPath% ECHO FileName=%FileName% Pause |
|
Отправлено: 08:21, 07-06-2012 | #8 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Цитата gora:
всё как и положено, а вот на x64 Выдёт всё равно путь и имя файла как для системы x86 (Program Files (x86) и wrar420b3ru.exe) Такое ощущение, что условие ELSE срабатывает в любом случае Пока делаю костыль с добавлением GoTo |
|
Отправлено: 14:17, 07-06-2012 | #9 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Тогда так:
@ECHO OFF SET ProgName=WinRar SET ProgVer=4.20 Beta 3 SET FileNameX86=wrar420b3ru.exe SET FileNameX64=winrar-x64-420b3ru.exe TITLE %ProgName% %ProgVer% CLS COLOR 1A Call :_Set_Var ECHO xOS=%xOS% ECHO PFPath=%PFPath% ECHO FileName=%FileName% Pause :_Set_Var Set xOS=x86 If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 SET FileName=%FileNameX86% SET PFPath=%PROGRAMFILES% IF %xOS%==x86 GoTo :EOF SET PFPath=%PROGRAMFILES(x86)% IF Not DEFINED FileNameX64 GoTo :EOF SET FileName=%FileNameX64% SET PFPath=%ProgramW6432% GoTo :EOF |
Последний раз редактировалось gora, 07-06-2012 в 15:15. Отправлено: 15:06, 07-06-2012 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как убрать меню выбора операционной системы? | trimo | Microsoft Windows 2000/XP | 84 | 26-01-2010 21:57 | |
Вопрос - Как можно проверить был взлом системы или просто зашли под другим пользователем? | ИС_ | Защита компьютерных систем | 0 | 24-09-2009 16:52 | |
как узнать разрядность системы | DIMON171 | Хочу все знать | 20 | 28-06-2008 19:57 | |
Как убрать меню выбора операционной системы | Guest | Microsoft Windows 95/98/Me (архив) | 1 | 10-09-2004 14:11 | |
Разрядность операционной системы | ankerok | Хочу все знать | 7 | 09-01-2003 16:45 |
|