Board logo

标题: [系统相关] bat转exe后在64位系统下运行出错的问题 [打印本页]

作者: wnsdt    时间: 2013-5-29 10:18     标题: bat转exe后在64位系统下运行出错的问题

64位系统下,本人尝试了几乎所有的bat转exe软件,甚至是自解压,但只要将转译后的exe在64位系统下运行,结果都出现错误,代码如下,
    @echo off
echo %PROCESSOR_ARCHITECTURE%
pause
如果你是64位系统,直接运行bat,正确的结果是AMD64,但是转译成exe后,在64位系统下运行结果却是错误的x86


求助高人,如何解决此问题
作者: wnsdt    时间: 2014-3-28 14:47

本帖最后由 wnsdt 于 2014-3-28 14:48 编辑

这个问题记得论坛上好像有类似的帖子,确实如楼主所说,即使是自解压也不行。具体原因说不清了,应该和系统本身对于64位系统运行32位软件环境下变量有变化有关。类似的还有:批处理右键管理员身份运行时其实不是在当前目录下运行的,而直接双击运行才是,道理应该是一样。

楼主换个思路判断32位、64位,可以解决这个问题,这也是我本人遇到类似情况后想到的一办法
  1. if exist %windir%\SysWOW64 命令...
复制代码
因为我发现只要是64位系统(xp、7、8已测试)都有%windir%\SysWOW64 这个文件夹,因此可以用这个来判断系统是否为64位。而且不受转换的影响
作者: apang    时间: 2014-3-28 15:10

根本原因在于bat转exe软件是仅支持32位的,看看高人们的解释:
http://bbs.wuyou.net/forum.php?m ... ;highlight=64%CE%BB
作者: wnsdt    时间: 2014-3-28 15:43

回复 3# apang


    你的意思是不是,即使用专门的64位的bat转exe文件转换出来的也只能在64位中运行。

因此,最好的判断方法还是用 if exist %windir%\SysWOW64
作者: DAIC    时间: 2014-3-28 17:13

回复 4# wnsdt


    在哪里可以下载到64位的bat转exe工具?
作者: wnsdt    时间: 2014-3-28 20:33

回复 5# DAIC


    你在论坛搜索转exe,记得有帖子专门介绍的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2