[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] bat转exe后在64位系统下运行出错的问题

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


求助高人,如何解决此问题

回复 5# DAIC


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

TOP

回复 4# wnsdt


    在哪里可以下载到64位的bat转exe工具?

TOP

回复 3# apang


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

因此,最好的判断方法还是用 if exist %windir%\SysWOW64

TOP

根本原因在于bat转exe软件是仅支持32位的,看看高人们的解释:
http://bbs.wuyou.net/forum.php?m ... ;highlight=64%CE%BB

TOP

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

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

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

TOP

返回列表