2014-02-28 87 views
0

我的問題是,當我使用軟件「蝙蝠到exe轉換器v1.6」將.bat文件轉換爲編譯.exe文件不能在100%工作。 當我使用.bat時,.bat工作在100%,但不是.exe。批處理exe編譯不工作

問題.bat文件有兩個條件表達式,但處理器架構的一個不工作:

REM首先是檢查,其工作100%

IF% SistemaOp%== XP(轉到WINXP)其他(轉到winseven)

:winxp 

    echo xp 

rem這是它不工作的部分。它永遠不會去64位部分

IF %PROCESSOR_ARCHITECTURE% == x86 (goto winxp86) else (goto winxp64) 
    :winxp86 
      echo xp 32 bit 
    :winxp64 
      echo xp 64 bit 
:winseven 
    echo seven 

rem這是它不工作的另一部分。它從來沒有進入64位部分

IF %PROCESSOR_ARCHITECTURE% == x86 (goto winseven86) else (goto winseven64) 
    :winseven86 
    echo seven 32 bit 
    :winseven64 
    echo seven 64 bit 
+1

最有可能的問題是該exe是一個32位可執行文件,所以它不能分辨處理器是否是64位。 – nneonneo

+0

相關問題可能會有幫助... http://stackoverflow.com/questions/1738985/why-processor-architecture-always-returns-x86-instead-of-amd64。 – aphoria

+0

好吧,那麼我怎樣才能在64位應用程序中編譯一個.bat爲.exe的文件? – user3108594

回答

0

很可能你的轉換器,我使用Advanced bat to exe這是一個很好的編譯器,它也增加了它自己的高級命令。搏一搏。它有32位和64位。

+0

我試着用高級蝙蝠exe文件轉換器2.83,但似乎並沒有出現這種64位選項。 – user3108594

+0

它自動執行。 – 09stephenb

0

將溶液的%PROCESSOR_ARCHITECTURE%部分改變此:

@迴響

SET ARCHITECT = HELLO REG查詢 「HKLM \系統\ CurrentControlSet \控制\會話管理\環境」/v

PROCESSOR_ARCHITECTURE |找到「ARCH」| FINDSTR/L 「86」> NUL

IF%ERRORLEVEL%EQU 0(SET ARCHITECT = 32位)ELSE(SET ARCHITECT = 64位)

回聲%ARCHITECT%

暫停