无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站虚位以待
广告联系 QQ:184822951 微信:wuyouceo最好用的系统一键装机工具idc大全★服务器租用★香港/5M/450元
查看: 4481|回复: 41

[分享] 单文件制作中32、64位判别批处理的四步进化

    [复制链接]
发表于 2016-5-4 10:27:47 | 显示全部楼层 |阅读模式
单文件执行文件的制作过程中常常会涉及到32位、64位判别批处理,通常你会看到下面这个版本:
@echo off
color 0a
if /i "%PROCESSOR_IDENTIFIER:~0,3%" == "x86" goto x86
Dism++\Dism++x64.exe
exit
:x86
Dism++\Dism++x86.exe
exit

上面这种代码如果碰到路径长的情况,会显得啰嗦。其实可以设置环境变量来避免:
@echo off
color 0a
set bits=x86
if /i "%PROCESSOR_IDENTIFIER:~0,3%" == "x86" goto x86
set bits=x64
:x86
Dism++\Dism++%bits%.exe
set bits=
exit

上面两种代码都用到了跳转,其实也可以避免(关键代码仅四行!):
@echo off
color 0a
set bits=x64
if "%PROCESSOR_IDENTIFIER:~0,3%"=="x86" set bits=x86
Dism++\Dism++%bits%.exe
set bits=
exit

上面两种代码用了两次set bits,可以简化到一次(关键代码仅三行!):
@echo off
color 0a
set bits=%PROCESSOR_IDENTIFIER:~0,3%
Dism++\Dism++%bits%.exe
set bits=
exit

其实,不用判别、不用另设set bits,也可以实现,下面是终极模式(关键代码仅一行!):
@echo off
color 0a
Dism++\Dism++%PROCESSOR_IDENTIFIER:~0,3%.exe
exit

还有两点需要说明,一是上面的路径是相对路径,也可以采用绝对路径,如D:\Tools\Dism++\Dism++%PROCESSOR_IDENTIFIER:~0,3%.exe。二是有的软件32位、64位软件分目录存储,这时可以用环境变量作目录名,如果目录名是x86和x64,可以直接用%PROCESSOR_IDENTIFIER:~0,3%作目录名,例如backup\%PROCESSOR_IDENTIFIER:~0,3%\imagex.exe;如果目录名是86和64或32和64或其它情况,都可以用到if判别位数和设set bits=具体的名称。具体情况可变通使用上述方法。我啰嗦了。
发表于 2016-5-4 11:30:15 来自手机 | 显示全部楼层
赞一个
回复

使用道具 举报

发表于 2016-5-4 11:35:16 | 显示全部楼层
Dism++\Dism++%PROCESSOR_IDENTIFIER:~0,3%.exe |Dism++\Dism++x64.exe
回复

使用道具 举报

 楼主| 发表于 2016-5-4 12:19:06 | 显示全部楼层
%PROCESSOR_IDENTIFIER:~0,3%的值随系统的位别而异=x86|x64

点评

你可以在CMD中看一下X64 显示是AMD64  详情 回复 发表于 2016-5-4 17:28
回复

使用道具 举报

发表于 2016-5-4 16:50:27 来自手机 | 显示全部楼层
不错~学习了……
回复

使用道具 举报

发表于 2016-5-4 16:50:32 来自手机 | 显示全部楼层
不错~学习了……
回复

使用道具 举报

发表于 2016-5-4 17:28:07 | 显示全部楼层
本帖最后由 2012雨晨绿软 于 2016-5-4 17:30 编辑
苏州本是 发表于 2016-5-4 12:19
%PROCESSOR_IDENTIFIER:~0,3%的值随系统的位别而异=x86|x64


你可以在CMD中看一下X64 显示是AMD
回复

使用道具 举报

发表于 2016-5-4 17:53:27 | 显示全部楼层
本帖最后由 2012雨晨绿软 于 2016-5-4 17:55 编辑

QQ图片20160504175223.png

本来我是不用这个工具的,为了让楼主见到真相特意下载测试
回复

使用道具 举报

发表于 2016-5-4 18:48:23 | 显示全部楼层
经测试无效
44.PNG

点评

笔记本电脑:Intel64 Family 6 Model 37 Stepping 5, GenuineIntel  发表于 2017-12-25 17:38
你是平板吧?  详情 回复 发表于 2016-5-4 18:59
回复

使用道具 举报

发表于 2016-5-4 18:59:26 | 显示全部楼层

你是平板吧?

点评

有触屏,但不能说是平板。  详情 回复 发表于 2016-5-4 19:02
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-4-3 08:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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