找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6435|回复: 10

批处理如何判断X86与X64,并在判断出来的基础上运行相应文件?

[复制链接]
发表于 2015-10-26 15:04:58 | 显示全部楼层 |阅读模式

比如: 文件夹“123”里有x64要用的文件“1.bat”,也有X86里要用的文件“2.bat”,希望做在一个自解压的文件里,但是怎么通过一个批处理来判断当前系统情况,并自动在不同系统运行相应的批处理呢?(不希望同时运行1.bat和2.bat,会有冲突;)
效果是:自解压文件解压后,首先运行这个判断批处理,当判断当前系统是x86时自动运行2.bat,当判断当前系统是X64时自动运行1.bat

看到这个帖子,但是不知道完整的批处理怎么来写并实现,希望知道的给指导下,多谢了!
http://www.bathome.net/thread-12252-1-1.html

点评

批处理不知道,ahk的只有几句话就解决。  发表于 2017-2-9 17:28
发表于 2015-10-26 15:12:45 | 显示全部楼层
注意,在64位操作系统下,你的自解压是32位的,由自解压运行的批处理也是32位的,所有针对SYSTE32文件夹操作全部被重定向SYSWOW64下!~

点评

用的rar制作的自解压,没太明白,批处理怎么和32位、64位有关系?能举个造成影响的例子吗?多谢! 比如,我在xp下制作批处理,判断把“123”目录下的32.bat在32位下运行,判断把“123”目录下的64.bat在64位下运  详情 回复 发表于 2015-10-26 17:26
回复

使用道具 举报

发表于 2015-10-26 15:12:08 | 显示全部楼层
以7zip为例:
  1. @echo off
  2. rem 判断64位系统和32位系统
  3. if /i %PROCESSOR_IDENTIFIER:~0,3%==x86 (
  4.         start %CD%\7z1505\7zFM.exe
  5. ) else (
  6.         start %CD%\7z1505x64\7zFM.exe
  7. )
复制代码

点评

谢谢!  详情 回复 发表于 2015-10-26 17:28
回复

使用道具 举报

发表于 2015-10-26 16:27:21 | 显示全部楼层
if not exist "%WinDir%\SysWOW64" 32位和if exist "%WinDir%\SysWOW64" 64位
回复

使用道具 举报

 楼主| 发表于 2015-10-26 17:26:37 | 显示全部楼层
坏坏小生 发表于 2015-10-26 15:12
注意,在64位操作系统下,你的自解压是32位的,由自解压运行的批处理也是32位的,所有针对SYSTE32文件夹操 ...

用的rar制作的自解压,没太明白,批处理怎么和32位、64位有关系?能举个造成影响的例子吗?多谢!

比如,我在xp下制作批处理,判断把“123”目录下的32.bat在32位下运行,判断把“123”目录下的64.bat在64位下运行,哪里可能会造成影响呢?
回复

使用道具 举报

 楼主| 发表于 2015-10-26 17:28:23 | 显示全部楼层
回复

使用道具 举报

发表于 2015-10-26 20:08:07 | 显示全部楼层
7z SFX Builder 创建的自解压可以实现自动选择,并且不会被重定向,不过7z SFX Builder虽然是最强大的自解压创建程序,但是也是最难学会的,需要花时间学习。
回复

使用道具 举报

发表于 2017-2-8 09:42:11 来自手机 | 显示全部楼层
本帖最后由 窄口牛 于 2017-2-8 09:44 编辑

有些软件可以用
if /i "%processor_architecture%"=="x86"
(
        start %CD%\7z1505\7zFM.exe
) else (
        start %CD%\7z1505x64\7zFM.exe
)
那些可以在xp上运行的软件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-4-9 01:59

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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