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

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

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

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


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

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


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

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

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

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

 

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


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

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


Какая-то ерунда снова получается. В прошлый раз не всё проверил.
Имеется батник:
Код: Выделить весь код
@ECHO OFF
SET ProgName=AIMP
SET ProgVer=3.10 RC2 build 1051
SET FileNameX86=AIMP3.exe
SET FileNameX64=
SET FileName=
SET PFPath=
TITLE %ProgName% %ProgVer%

CLS
COLOR 1A

CALL :_Set_Var

ECHO В какой каталог поставить приложение:
ECHO.
ECHO.
ECHO [1] %PFPath%\%ProgName%
ECHO [2] D:\UserData\Programs\%ProgName%
ECHO.
ECHO.
SET /p sert="Нажмите соответствующий номер:"
IF '%sert%'=='1' (
	SET PFPath=%PFPath%\%ProgName%
) ELSE IF '%sert%'=='2' (
	SET PFPath=D:\UserData\Programs\%ProgName%
) ELSE IF ErrorLevel 0 GoTo :END

%FileName% -d"%PFPath%" -s2
reg add hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AIMP3 /v UninstallString /t REG_SZ /F /d "%PFPath%\Uninstall.exe"

:_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

:END
Если запускать на x86, то выполняется без проблем
Если запускать на x64, то появляется ошибка: Непредвиденное появление: \AIMP

Отправлено: 08:55, 28-06-2012 | #21



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

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


Аватара для gora

Ушёл из жизни


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

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


vcrank, а так?
Код: Выделить весь код
@ECHO OFF
SET ProgName=AIMP
SET ProgVer=3.10 RC2 build 1051
SET FileNameX86=AIMP3.exe
SET FileNameX64=
SET FileName=
SET PFPath=
TITLE %ProgName% %ProgVer%

CLS
COLOR 1A

CALL :_Set_Var

ECHO В какой каталог поставить приложение:
ECHO.
ECHO.
ECHO [1] %PFPath%\%ProgName%
ECHO [2] D:\UserData\Programs\%ProgName%
ECHO.
ECHO.
Set fPFPath=
SET /p sert="Нажмите соответствующий номер:"
IF '%sert%'=='1' SET fPFPath=%PFPath%\%ProgName%
IF '%sert%'=='2' SET fPFPath=D:\UserData\Programs\%ProgName%
IF Not Defined fPFPath GoTo :END

Echo %FileName% -d"%fPFPath%" -s2
Echo reg add hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AIMP3 /v UninstallString /t REG_SZ /F /d "%fPFPath%\Uninstall.exe"
Pause
Exit

:_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

:END
Echo Error
Pause
Exit
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:12, 28-06-2012 | #22


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


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

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


gora,
Цитата gora:
а так? »
Извините, что долго не отвечал. Так работает. Будем работать дальше Вдруг ещё что-то всплывёт

Отправлено: 08:13, 29-06-2012 | #23


Забанен


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

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


Всё это видел. Тема не решена.
Продолжу вопрос здесь.

Привет. Кто подскажет как запустить setup.exe в соответствии с разрядностью системы? Код по проще можно?

Нужен только запуск.
Например
Код: Выделить весь код
@ echo
run setup.exe x86
run setup.exe x64
как это сделать?

Отправлено: 13:26, 11-07-2012 | #24


Ветеран


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

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


L1nk3R, а посмотреть на код gora парой постов выше и проявить смекалку сложно?
Код: Выделить весь код
SET xOS=x86
IF Defined PROCESSOR_ARCHITEW6432 (SET xOS=x64) ELSE IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" SET xOS=x64
IF %xOS%==x86 (run setup.exe x86) else (run setup.exe x64)
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:18, 11-07-2012 | #25


Забанен


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

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


sov44, я в батнике мало что понимаю.

Данная тема соответствует больше вот этому примеру:
Код: Выделить весь код
@echo off
Title Проверка разрядности операционной системы
echo Архитектура вашего процессора: %PROCESSOR_ARCHITECTURE%
pause
sov44, не работает, пишет ""run" не является внутренней или внешней командой, исполняемой программой или пакетным файлом."

Отправлено: 14:25, 11-07-2012 | #26


Ветеран


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

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


Цитата L1nk3R:
пишет ""run" не является внутренней или внешней командой »
Всё верно. В скобках указывайте только путь и имя запускаемой программы без "run", "x86" и т.п. Если в имени и (или) в пути есть пробелы, заключайте путь с именем в кавычки.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:43, 11-07-2012 | #27


Забанен


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

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


sov44, Спасибо добрый человек за помощь! Всё работает .

Отправлено: 15:40, 11-07-2012 | #28


Аватара для gen0m.rsw

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


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

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


Всем участникам форума респект!!!
Ближе к делу!
Батник должон , определить разрядность ОС, и запустить надлежащий EXE(или MSI), с параметром
К примеру :
x86 setup_x86.exe /S
или
x64 setup_x64.msi /qn

Заранее спасибо!!!

Отправлено: 10:18, 30-09-2012 | #29


Новый участник


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

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


gen0m.rsw, попробуй как-то так:
Код: Выделить весь код
@echo off
Set xOS=x86 
If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64

IF %xOS%==x86 ( "setup_x86.exe" /S) else ("x64 setup_x64.msi" /qn)
pause
exit

Отправлено: 20:25, 11-10-2012 | #30



Компьютерный форум 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




 
Переход