Board logo

标题: [系统相关] 【已解决】求助批处理获取系统信息 [打印本页]

作者: lix0521    时间: 2023-7-3 14:24     标题: 【已解决】求助批处理获取系统信息

本帖最后由 lix0521 于 2023-7-5 21:52 编辑

本人批处理小白,因为工作需要,要对很多台电脑进行IP信息登记,但是只能一台一台查看,所以需要用到批处理脚本来实现我的需求。
需求如下:
1.需要在windows XP、windows7、windows8、windows10、windows11上都能运行;
2.兼容中文字符集;
3.获取当前电脑的 系统版本(Windows *)+CPU信息+内存信息+主机名+IP+MAC+网关;
4.输出结果直接存放在桌面的 systeminfo.txt 文档里,如果没有这个问题则生成。
作者: sz1121    时间: 2023-7-3 14:45

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. rem 获取系统版本信息
  4. for /f "tokens=2 delims=[]" %%i in ('ver') do set "system_version=%%i"
  5. rem 获取CPU信息
  6. set "cpu_info="
  7. for /f "tokens=2 delims=[]" %%i in ('wmic cpu get name /value') do set "cpu_info=%%i"
  8. set "cpu_info=%cpu_info:~1%"
  9. rem 获取内存信息
  10. set "memory_info="
  11. for /f "tokens=2 delims=[,]}" %%i in ('wmic memorychip get capacity /value') do set "memory_info=%%i"
  12. set "memory_info=%memory_info:~0,-1%"
  13. rem 获取主机名
  14. set "hostname="
  15. for /f "tokens=2 delims=[,]}" %%i in ('wmic computersystem get name /value') do set "hostname=%%i"
  16. set "hostname=%hostname:~1%"
  17. rem 获取IP信息
  18. set "ip_info="
  19. for /f "tokens=2 delims=[,]}" %%i in ('wmic nicconfig get ipaddress /value') do set "ip_info=%%i"
  20. rem 获取MAC地址信息
  21. set "mac_info="
  22. for /f "tokens=2 delims=[,]}" %%i in ('wmic nicconfig get macaddress /value') do set "mac_info=%%i"
  23. rem 获取网关信息
  24. set "gateway="
  25. for /f "tokens=2 delims=[,]}" %%i in ('ipconfig ^| findstr /c:"Default"') do set "gateway=%%i"
  26. set "gateway=%gateway:~1%"
  27. rem 输出结果到文件
  28. if not exist "%USERPROFILE%\Desktop\systeminfo.txt" (echo System Information > "%USERPROFILE%\Desktop\systeminfo.txt") else (goto :output)
  29. :output
  30. echo System Version: %system_version% >> "%USERPROFILE%\Desktop\systeminfo.txt"
  31. echo CPU Info: %cpu_info% >> "%USERPROFILE%\Desktop\systeminfo.txt"
  32. echo Memory Info: %memory_info% GB >> "%USERPROFILE%\Desktop\systeminfo.txt"
  33. echo Hostname: %hostname% >> "%USERPROFILE%\Desktop\systeminfo.txt"
  34. echo IP Info: %ip_info% >> "%USERPROFILE%\Desktop\systeminfo.txt"
  35. echo MAC Info: %mac_info% >> "%USERPROFILE%\Desktop\systeminfo.txt"
  36. echo Gateway: %gateway% >> "%USERPROFILE%\Desktop\systeminfo.txt"
  37. goto :end
复制代码

作者: lix0521    时间: 2023-7-3 15:17

首先  非常感谢大佬的援助,但是(可能是我的笔记本的原因吧,我用的是Huawei Mate Book D16,操作系统是windows 11 22H2 22621.1848),运行这个批处理时,CMD窗口一闪而过没有停留,也没有生成systeminfo.txt文件,分开单独执行每一项代码时,结果不是我想要的,比如IP生成的结果时MAC的,MAC没有结果输出,但还是非常感谢大佬的支持呀!!!
作者: Batcher    时间: 2023-7-3 15:57

回复 3# lix0521


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2