当前位置: 首页 > news >正文

程序通过命令行获取操作系统名称+版本+CPU名称等:Part2

文章目录

  • (一)沿用的方法
  • (二)问题和调整
    • (2.1)Windows11的版本号是10.0
    • (2.2)Golang和管道符号(Linux)
    • (2.3)最大内存容量 vs 当前安装内存容量 (Win)

(一)沿用的方法

参考:《程序通过命令行获取操作系统名称+版本+CPU名称等各种信息》

(二)问题和调整

(2.1)Windows11的版本号是10.0

这是微软自己搞出来的问题。
大版本号一样,只能通过后面的小版本号build来判断是11还是10。
所以如果用cmd或者ver来取版本号。
Win11目前是这样的:

C:\>cmd /C ver
Microsoft Windows [Version 10.0.22621.2361]

Win10则是这样的(请问有啥区别):

C:\>cmd /C ver
Microsoft Windows [Version 10.0.19045.3448]

为了清晰的看出是Win11,还是Win10,只好不用ver,而是通过wmic。
可以比较清晰的看出Windows各个版本。

C:\>wmic os get caption,version
Caption                           Version
Microsoft Windows 11 Pro / 专业版  10.0.22621

(2.2)Golang和管道符号(Linux)

还记得之前写的Golang调用命令行比其它语言麻烦一点,需要把命令和参数分开传递。
有管道符的命令就不灵了,比如:

> cat /proc/cpuinfo | grep 'model name' | uniq | cut -d':' -f 2

上面这样句怎么调用都不会有结果。
需要在前面田间bash -c,具体执行的语句变成了:

exec.Command("bash", "-c", "cat /proc/cpuinfo | grep 'model name' | uniq | cut -d':' -f 2")

(2.3)最大内存容量 vs 当前安装内存容量 (Win)

不知道哪里抄的wmic.exe memphysical get maxcapacity
简单测了一下似乎是正常的(单位KB)。

C:\> wmic memphysical get maxcapacity
MaxCapacity
33554432

换台电脑发现数字不对……这才知道,这个数字,是电脑能够安装的最大内存容量,并不是当前安装的内存容量。
得换成(单位Byte):

C:\> wmic ComputerSystem get TotalPhysicalMemory
TotalPhysicalMemory
34182582272

或者(单位KB):

C:\> wmic os get TotalVisibleMemorySize
TotalVisibleMemorySize
33381428

不过并不是整数的32GB,和任务管理器里面看到的一致为31.8GB

http://www.lryc.cn/news/177299.html

相关文章:

  • 微软最热门的10款前端开源项目!
  • C#(CSharp)入门实践项目(简易回合制游戏)
  • GEO生信数据挖掘(五)提取临床信息构建分组,分组数据可视化(绘制层次聚类图,绘制PCA图)
  • golang时间问题汇总(用法常见问题:插入数据库时间自动+8)
  • TCP网络连接中的三次握手和四次挥手
  • 游戏服务商Latis Global参展2023 ChinaJoy B2B
  • oracle常用sql
  • 手游模拟器长时间运行后,游戏掉帧且不恢复
  • linux下离线安装telnet
  • Unity 发布WebGL平台,C#与JavaScript交互
  • 利用 Forcing InnoDB Recovery 特性解决 MySQL 重启失败的问题
  • windows修改键位F11变insert(改键盘映射)
  • 安装gpu版本的paddle和paddleclas
  • 61从零开始学Java之处理大数字相关的类有哪些?
  • vscode 搜索界面的files to include files to exclude 是什么功能?
  • 数据计算-第15届蓝桥杯第一次STEMA测评Scratch真题精选
  • 谈谈前端和后端的选择
  • Vue3最佳实践 第六章 Pinia,Vuex与axios,VueUse 1(Pinia)
  • Java比较器之equals、comparable、comparator
  • Virtio-user使用简介
  • 点云从入门到精通技术详解100篇-基于深度学习的三维植物点云分割网络
  • C语言 Cortex-A7核 SPI 实验
  • Spring工具类--ReflectionUtils的使用
  • zemax西德莫尔目镜
  • C++ 拷贝构造函数
  • 怎么使用 Flink 向 Apache Doris 表中写 Bitmap 类型的数据
  • LeetCode 四数相加II 哈希
  • python(自4) xpath下载 lxml安装 lxml语法 使用方式
  • 05-Zookeeper典型使用场景实战
  • stl格式-3D三角形