Показать полную графическую версию : [решено] Автоматическое определение типа ОС - 32 или 64 бит.
выложите результаты выполнения команды Set. »
Сразу не вышло - не было доступа к 64-битной системе.
Прикрепляю к сообщению скрины выполнения команды и результаты выполнения. В обоих случаях запускался файл 32-битный .
IF EXIST "%ProgramFiles(x86)%" (ОС 64-битная, а проверяемая папка для 32-х битных программ) »
А вот этот вариант сработал!!! Спасибо.
Devils0411
30-06-2009, 15:37
DPavlik82, а скрипт то где? Выкладываю свой вариант скрипта.
Первый вариант (http://depositfiles.com/files/996h8rw65) выполняет добавления значения в реестр при заданных условиях.
Второй вариант (http://depositfiles.com/files/5yhu66v64) выполняет запуск приложения при заданных условиях
Petya V4sechkin
30-06-2009, 17:18
В обоих случаях запускался файл 32-битный .
Скрипт написали неправильно (судя по скриншоту, в одну строчку).
А как должен выглядеть скрипт для определения системы (XP и семерки, если обе х32)?
Возможно ли назначить выполнение той или иной команды в зависимости от системы?
(При установке Office 2003 использую разные *.MST)
Petya V4sechkin
30-04-2010, 09:23
А как должен выглядеть скрипт для определения системы
[решено] Определение версии (сборки) и сервис пака ОС (http://forum.oszone.net/thread-141160.html)
Shpindler
13-03-2012, 19:53
DPavlik82, а скрипт то где? Выкладываю свой вариант скрипта.
Первый вариант выполняет добавления значения в реестр при заданных условиях.
Второй вариант выполняет запуск приложения при заданных условиях »
Можете перезалить? Файл удален...
Такой вариант здесь не видел, но сам пользуюсь именно имSet xOS=x86& If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64
Echo OS - %xOS%
Такой вариант здесь не видел, но сам пользуюсь именно им »
Не перестаю восхищаться Вашим виртуозным владением инструментарием в области bat-программирования!
А ещё очень был бы полезен bat-ник, определяющий не только разрядность ОС, но и тип ОС, например, XP и Win 7. Вышла бы прекрасная заготовка, на основе которой можно было бы другие bat-файлы создавать.
at-ник, определяющий не только разрядность ОС, но и тип ОС, например, XP и Win 7. »
А как должен выглядеть скрипт для определения системы »CMD/BAT - [решено] Определение версии (сборки) и сервис пака ОС (http://forum.oszone.net/thread-141160.html)
Lucretius
09-04-2013, 18:37
gora, поправьте меня, если я ошибаюсь, но приведённый Вами скрипт:Set xOS=x86& If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64
Echo OS - %xOS% »
64-разрядную систему на базе Itanium будет определять, как "x86", т.к. при определении разрядности не соблюдается ни одно из условий. Думаю такой вариант будет универсальным:Set xOS=x64& If "%PROCESSOR_ARCHITECTURE%"=="x86" (
If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
)
Echo OS - %xOS%
Pause
Думаю такой вариант будет универсальным: »
[решено] Как проверить разрядность операционной системы? (http://forum.oszone.net/thread-172610.html)
Что-то вы господа обкатываете по-сути один и тот же вариант определения с небольшими вариациями...
Такое впечатление что был произведен массовый частичный копипаст чужого кода ;)
Уж если на то пошло то вот вам полностью другой код - для разнообразия:ECHO "%PROCESSOR_ARCHITECTURE%""%PROCESSOR_ARCHITEW6432%"|1>NUL 2>NUL FIND /I "64"&&SET "MY_SYSTEM=X64"||SET "MY_SYSTEM=X86"
Уж если на то пошло то вот вам полностью другой код - для разнообразия »
y--, Вы тему читать не пробовали предварительно — для разнообразия?
Iska,
Конечно читал ;)
вместо rвместо SET в мой код можно подставить нужный код. То есть вместо
SET "MY_SYSTEM=X86"
используем
(start /wait vcredist_2005.exe&start /wait vcredist_2008.exe)
И соответственно
вместо
SET "MY_SYSTEM=X64"
(start /wait vcredist_x64_2005.exe&start /wait vcredist_x64_2008.exe
А что не так с моим ответом? Без IF код тут никто не предлагал...
Или Вас лично вводит в заблуждение использованный тег PHP?
Так я тут новичек, а коды всплывающих подсказок не имеют, но не переживайте - код заведомо CMD.
проверку с последующей установкой запилил так:
rem Winrar
ECHO Installing WinRar
ECHO Пожалуйста, подождите...
IF EXIST "%ProgramFiles(x86)%" (
start /wait N:\\%netinstalldir%\winrar4\winrarx64.exe /s
) else (
start /wait N:\\%netinstalldir%\\winrar4\winrarx32.exe /s
)
ECHO установка WinRar завершена
Теперь немогу решить как удобнее добавить проверку установлено ли приложение.
в т.ч. по наличию определенного файла в директории, либо по записи в реестре.
У кого какие могут быть идеи?
padrus, для создания универсальных (для разных ОС) инсталляторов я использую утилиту http://forum.oszone.net/thread-264841.html
в ней так же есть проверка на наличие файла.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC