我的问题是,当我使用软件“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
答案 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%
暂停