批处理时exe不能正常工作

时间:2014-02-28 19:47:15

标签: windows batch-file cmd

我的问题是,当我使用软件“Bat to exe converter v1.6”将.bat文件转换为已编译的.exe文件时,不能100%运行。 当我使用它时,.bat的工作率为100%,而不是.exe。

有问题的.bat文件有两个条件表达式,但处理器架构的一个不起作用:

  第一个是检查那个,它的工作是100%

     
    

IF%SistemaOp%== XP(goto winxp)else(goto 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

2 个答案:

答案 0 :(得分:0)

很可能你的转换器使用Advanced bat to exe它是一个很好的编译器,它还添加了自己的高级命令。搏一搏。它有32位和64位。

答案 1 :(得分:0)

解决方案是将%PROCESSOR_ARCHITECTURE%部分更改为:

  

@echo off

     

SET ARCHITECT = HELLO   reg查询“HKLM \ System \ CurrentControlSet \ Control \ Session Manager \ Environment”/ v

     

PROCESSOR_ARCHITECTURE |找到“ARCH”| FINDSTR / L“86”> NUL

     

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

     

echo%ARCHITECT%

     

暂停