找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27788|回复: 5

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

[复制链接]
发表于 2013-5-29 10:18:58 | 显示全部楼层 |阅读模式
64位系统下,本人尝试了几乎所有的bat转exe软件,甚至是自解压,但只要将转译后的exe在64位系统下运行,结果都出现错误,代码如下,
    @echo off
echo %PROCESSOR_ARCHITECTURE%
pause
如果你是64位系统,直接运行bat,正确的结果是AMD64,但是转译成exe后,在64位系统下运行结果却是错误的x86


求助高人,如何解决此问题
 楼主| 发表于 2014-3-28 14:47:01 | 显示全部楼层
本帖最后由 wnsdt 于 2014-3-28 14:48 编辑

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

楼主换个思路判断32位、64位,可以解决这个问题,这也是我本人遇到类似情况后想到的一办法
  1. if exist %windir%\SysWOW64 命令...
复制代码
因为我发现只要是64位系统(xp、7、8已测试)都有%windir%\SysWOW64 这个文件夹,因此可以用这个来判断系统是否为64位。而且不受转换的影响
发表于 2014-3-28 15:10:26 | 显示全部楼层
根本原因在于bat转exe软件是仅支持32位的,看看高人们的解释:
http://bbs.wuyou.net/forum.php?m ... ;highlight=64%CE%BB
 楼主| 发表于 2014-3-28 15:43:27 | 显示全部楼层
回复 3# apang


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

因此,最好的判断方法还是用 if exist %windir%\SysWOW64
发表于 2014-3-28 17:13:53 | 显示全部楼层
回复 4# wnsdt


    在哪里可以下载到64位的bat转exe工具?
 楼主| 发表于 2014-3-28 20:33:32 | 显示全部楼层
回复 5# DAIC


    你在论坛搜索转exe,记得有帖子专门介绍的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:03 , Processed in 0.031294 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表