.BAT файл для идентификации 64/32 битной системы - PullRequest
2 голосов
/ 25 апреля 2011

В настоящее время я пытаюсь написать файл .BAT, который запускает конкретный файл .exe в зависимости от того, является ли система 64/32 битной.

Пока мой код выглядит так:

cd driver 
SET isX=SYSTEMINFO | find /C "X64-based"
SET isY=SYSTEMINFO | find /C "X32-based"
IF isX == 1 setupX32.exe 
IF isY == 1 setupX64.exe 
cd ..
setup.exe

Команды работают индивидуально.Кажется, что есть проблема с назначением переменной во время трубопровода.потому что

эхо% isX%

Кажется, не работает.Любой совет будет принята с благодарностью.Спасибо.

~ Дан

Ответы [ 2 ]

1 голос
/ 25 апреля 2011
В

64-битных системах определена переменная окружения PROGRAMFILES(X86), вы можете проверить это;

SETLOCAL ENABLEEXTENSIONS
CD DRIVER
IF DEFINED PROGRAMFILES(X86)  (
    SET app=setupX64.exe 
) ELSE (
    SET app=setupX32.exe 
)

START %app%
1 голос
/ 25 апреля 2011

где именно ошибка идет?

просто мысль .. Может быть, вы можете использовать переменную% PROCESSOR_ARCHITECTURE%, чтобы узнать архитектуру вместо SYSTEMINFO ..

или вместо перехода к трубе, вы можете реализовать if else block /..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...