无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: 苏州本是

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

    [复制链接]
发表于 2016-11-17 15:48:33 | 显示全部楼层
本帖最后由 leono 于 2016-11-17 15:50 编辑
icevan 发表于 2016-5-17 23:48
要想在复杂环境中使用,肯定需要很多判断。
判断版本号我原来用的
for /f "tokens=2 delims=[" %%i in (' ...


这种写法也是错误的
cmd里面不同位数比较,10 lss 6 正确,你的判断就出错了
更别说CMD不支持小数运算了,当然你一定要比较可以做小数点处理或者调用vbs算法

另外%ver:~3,3%也有问题,中文版本可以,换其他语言版本就错了,正确应该是以空格截取,而不是字符位数

点评

谢谢提醒,看来截取的值不能带小数点。 还有变量截取的地方,这个地方我只看到按字符位数截取的方法,、难道你是说用for命令? 其他语言的版本这个变量截取方法又是那一种?  详情 回复 发表于 2017-12-16 17:40
回复

使用道具 举报

发表于 2017-12-16 17:40:52 | 显示全部楼层
leono 发表于 2016-11-17 15:48
这种写法也是错误的
cmd里面不同位数比较,10 lss 6 正确,你的判断就出错了
更别说CMD不支持小数运 ...

谢谢提醒,看来截取的值不能带小数点。

还有变量截取的地方,这个地方我只看到按字符位数截取的方法,、难道你是说用for命令?
其他语言的版本这个变量截取方法又是那一种?
回复

使用道具 举报

发表于 2017-12-25 11:16:13 | 显示全部楼层
我也来一个CMD判断系统位数
CMD判断系统是32位或64位.rar (26.25 KB, 下载次数: 13)

点评

你这是用了小程序了。  详情 回复 发表于 2017-12-25 17:26
回复

使用道具 举报

 楼主| 发表于 2017-12-25 17:26:33 | 显示全部楼层
wynew8au 发表于 2017-12-25 11:16
我也来一个CMD判断系统位数

你这是用了小程序了。
回复

使用道具 举报

发表于 2017-12-25 17:35:23 | 显示全部楼层
判断 64/32位 系统&程序 正确导入64/32位DLL 批处理

  1. rem 判断64/32位系统,四种方法
  2. ::set "OSbit=32" &wmic os get OSArchitecture|find "64">nul 2>&1 && set "OSbit=64"
  3. ::set "OSbit=32" &reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE|find "64">nul 2>&1 && set "OSbit=64"
  4. ::set "OSbit=32" &dir %windir%|find "SysWOW64"        >nul 2>&1 && set "OSbit=64"
  5. set "OSbit=32" &if defined programw6432 set "OSbit=64"

  6. rem 判断64/32位程序
  7. set "exebit=32" &echo %processor_architecture% |find "64">nul 2>&1 && set "exebit=64"

  8. echo %exebit% 位程序运行在 %OSbit% 位操作系统上
  9. pause
复制代码
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 13:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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