2011-04-25 68 views
2

我目前正試圖編寫一個運行特定的.exe的.BAT文件,具體取決於系統是否是64/32位。.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 

的命令獨立工作。看來在配管時分配變量存在問題。因爲

回聲%ISX%

似乎並沒有工作。任何意見將不勝感激。謝謝。

〜丹

回答

1

究竟哪裏出錯?

只是一個想法..可能是你可以使用%PROCESSOR_ARCHITECTURE%變量來找出架構,而不是從SYSTEMINFO ..

或而不是去管道的,可以實現的if else塊/ ..

1

64位系統已經定義了PROGRAMFILES(X86)環境變量,可以測試這個;

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

START %app%