Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как проверить разрядность операционной системы?

Ответить
Настройки темы
CMD/BAT - [решено] Как проверить разрядность операционной системы?

Пользователь


Сообщения: 99
Благодарности: 4

Профиль | Отправить PM | Цитировать


Как проверить разрядность операционной системы?

У виндоуз 7 есть 2 версии: 64-х разрядная и 32-х разрядная.

Для 64-х разрядной нужно, чтобы выполнялись дополнительные программы. Как это сделать в коммандом файле?

Отправлено: 22:50, 08-04-2010

 

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Ещё один, более короткий, вариант записи определения разрядности, предложенной в посте 3.
Код: Выделить весь код
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86

Отправлено: 08:47, 12-10-2012 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 136
Благодарности: 18

Профиль | Отправить PM | Цитировать


А я так:
Код: Выделить весь код
Set xOS=x86
IF EXIST %windir%\Sysnative\* Set xOS=x64
Определение из 32 битного приложения

Последний раз редактировалось Salmo, 22-10-2012 в 17:21.


Отправлено: 21:18, 15-10-2012 | #32


Пользователь


Сообщения: 78
Благодарности: 14

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Set xOS=x86   If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64
Код: Выделить весь код
copy "test.exe" "%systemroot%\system32\test.exe" /y 
copy "test.exe" "%systemroot%\system64\test.exe" /y
Вот нужно к примеру исходя из переменной xOS использовать соответствующий путь (system32\system64). Как более элегантно их соединить не используя call?

Отправлено: 20:27, 16-10-2012 | #33


Пользователь


Сообщения: 136
Благодарности: 18

Профиль | Отправить PM | Цитировать


Цитата DesmondTruman:
исходя из переменной xOS использовать соответствующий путь (system32\system64) »
Скажите, пожалуйста, что Вы называете соответствующим путем и что такое system64? Если это SysWOW64, то укажите, где должен оказаться test.exe в 64 битной системе, - в system32 (64 битная среда) или в SysWOW64 (32 битная)?

Отправлено: 23:05, 16-10-2012 | #34


Аватара для angel_lyucifer

Старожил


Сообщения: 175
Благодарности: 4

Профиль | Отправить PM | Цитировать


Привет, мне нужен батник который определяет разрядность системы x86 или x64 если система 32 битная, то есть x86 то тогда нужно запустить файл 1.exe если система 64 битная то есть x64 тогда нужно запустить файл 2.exe

Кто может подскажите варианты такого батника пожалуйста.

Отправлено: 05:05, 16-01-2013 | #35


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
set RegQry=HKLM\Hardware\Description\System\CentralProcessor\0
reg.exe Query %RegQry% > checkOS.txt
find /i "x86" < CheckOS.txt > StringCheck.txt

if %ERRORLEVEL% == 0 (
goto os32
) else (
goto os64
)

:os32
1.exe
goto check_done

:os64
2.exe

:check_done
del StringCheck.txt, CheckOS.txt
Стучим в бубен )))
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:14, 16-01-2013 | #36


Аватара для angel_lyucifer

Старожил


Сообщения: 175
Благодарности: 4

Профиль | Отправить PM | Цитировать


Спасибо zion87!

-------
Век живи, век учись! =)


Отправлено: 17:13, 16-01-2013 | #37

7ka 7ka вне форума

Аватара для 7ka

Старожил


Сообщения: 320
Благодарности: 32

Профиль | Отправить PM | Цитировать


2ALL
Код: Выделить весь код
@Echo Off
If !%PROCESSOR_ARCHITECTURE%==!x86 Goto Install_x86
If !%PROCESSOR_ARCHITECTURE%==!AMD64 Goto Install_x64
Goto End
 
:Install_x86
start "" /wait msiexec /i"%~dp0\setup-x86.msi" /quiet /norestart
Goto End
 
:Install_x64
start "" /wait msiexec /i"%~dp0\setup-x64.msi" /quiet /norestart
Goto End
 
:End

Отправлено: 11:27, 26-02-2013 | #38


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата 7ka:
If !%PROCESSOR_ARCHITECTURE%==!x86 Goto Install_x86 »
1 Символ ! здесь применен, видимо, для "экономии" на кавычках, которые традиционно используются в таких случаях:
Код: Выделить весь код
If "%PROCESSOR_ARCHITECTURE%"=="x86" Goto Install_x86
Прием известный, но символ выбран крайне неудачно, т.к., является спец. символом, что в ряде случаев может привести к сбоям в работе скрипта, например при наличии строки в начале скрипта:
Код: Выделить весь код
SetLocal EnableDelayedExpansion
2 По одной переменной PROCESSOR_ARCHITECTURE нельзя определить разрядность системы однозначно! У меня на Win7 x64 она равна x86 - при запуске скрипта в х86 среде (из x86 ТС, например) и AMD64 - при запуске скрипта в х64 среде (из x64 ТС, например).
Это скорее определение среды запуска скрипта, нежели разрядности ОС.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:48, 26-02-2013 | #39

7ka 7ka вне форума

Аватара для 7ka

Старожил


Сообщения: 320
Благодарности: 32

Профиль | Отправить PM | Цитировать


gora, есть еще такой прием:
Код: Выделить весь код
@Echo off
SystemInfo | find "x64-based PC"
if ERRORLEVEL 1 Goto Tre

:Ses
start "" /wait msiexec /i"%~dp0\setup-x64.msi" /quiet /norestart
Goto Quiet

:Tre
start "" /wait msiexec /i"%~dp0\setup-x86.msi" /quiet /norestart
:Quit
:End

Отправлено: 15:18, 26-02-2013 | #40



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как проверить разрядность операционной системы?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как убрать меню выбора операционной системы? 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




 
Переход