无忧启动论坛

标题: 批处理如何判断X86与X64,并在判断出来的基础上运行相应文件? [打印本页]

作者: netmjwork    时间: 2015-10-26 15:04
标题: 批处理如何判断X86与X64,并在判断出来的基础上运行相应文件?

比如: 文件夹“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
作者: lbw2007    时间: 2015-10-26 15:12
以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 15:12
注意,在64位操作系统下,你的自解压是32位的,由自解压运行的批处理也是32位的,所有针对SYSTE32文件夹操作全部被重定向SYSWOW64下!~
作者: gylgw    时间: 2015-10-26 16:27
if not exist "%WinDir%\SysWOW64" 32位和if exist "%WinDir%\SysWOW64" 64位
作者: netmjwork    时间: 2015-10-26 17:26
坏坏小生 发表于 2015-10-26 15:12
注意,在64位操作系统下,你的自解压是32位的,由自解压运行的批处理也是32位的,所有针对SYSTE32文件夹操 ...

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

比如,我在xp下制作批处理,判断把“123”目录下的32.bat在32位下运行,判断把“123”目录下的64.bat在64位下运行,哪里可能会造成影响呢?
作者: netmjwork    时间: 2015-10-26 17:28
lbw2007 发表于 2015-10-26 15:12
以7zip为例:

谢谢!
作者: bhdc    时间: 2015-10-26 20:08
7z SFX Builder 创建的自解压可以实现自动选择,并且不会被重定向,不过7z SFX Builder虽然是最强大的自解压创建程序,但是也是最难学会的,需要花时间学习。
作者: 窄口牛    时间: 2017-2-8 09:42
本帖最后由 窄口牛 于 2017-2-8 09:44 编辑

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




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3