.BAT文件识别64/32位系统

时间:2011-04-25 10:57:53

标签: cmd

我目前正在尝试编写运行特定.exe的.BAT文件,具体取决于系统是否为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

命令单独工作。似乎在管道时分配变量存在问题。因为

  

echo%isX%

似乎不起作用。任何建议将不胜感激。三江源。

〜丹

2 个答案:

答案 0 :(得分:1)

哪里出现错误?

只是一个想法..可能你可以使用%PROCESSOR_ARCHITECTURE%变量找出架构而不是SYSTEMINFO ..

或者代替去管道,你可以实现if else阻止/..

答案 1 :(得分:1)

64位系统定义了PROGRAMFILES(X86)环境变量,您可以对此进行测试;

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

START %app%