标题: [系统相关] 【已解决】求助批处理获取系统信息 [打印本页]
作者: 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
- @echo off
- setlocal EnableDelayedExpansion
-
- rem 获取系统版本信息
- for /f "tokens=2 delims=[]" %%i in ('ver') do set "system_version=%%i"
-
- rem 获取CPU信息
- set "cpu_info="
- for /f "tokens=2 delims=[]" %%i in ('wmic cpu get name /value') do set "cpu_info=%%i"
- set "cpu_info=%cpu_info:~1%"
-
- rem 获取内存信息
- set "memory_info="
- for /f "tokens=2 delims=[,]}" %%i in ('wmic memorychip get capacity /value') do set "memory_info=%%i"
- set "memory_info=%memory_info:~0,-1%"
-
- rem 获取主机名
- set "hostname="
- for /f "tokens=2 delims=[,]}" %%i in ('wmic computersystem get name /value') do set "hostname=%%i"
- set "hostname=%hostname:~1%"
-
- rem 获取IP信息
- set "ip_info="
- for /f "tokens=2 delims=[,]}" %%i in ('wmic nicconfig get ipaddress /value') do set "ip_info=%%i"
-
- rem 获取MAC地址信息
- set "mac_info="
- for /f "tokens=2 delims=[,]}" %%i in ('wmic nicconfig get macaddress /value') do set "mac_info=%%i"
-
- rem 获取网关信息
- set "gateway="
- for /f "tokens=2 delims=[,]}" %%i in ('ipconfig ^| findstr /c:"Default"') do set "gateway=%%i"
- set "gateway=%gateway:~1%"
-
- rem 输出结果到文件
- if not exist "%USERPROFILE%\Desktop\systeminfo.txt" (echo System Information > "%USERPROFILE%\Desktop\systeminfo.txt") else (goto :output)
- :output
- echo System Version: %system_version% >> "%USERPROFILE%\Desktop\systeminfo.txt"
- echo CPU Info: %cpu_info% >> "%USERPROFILE%\Desktop\systeminfo.txt"
- echo Memory Info: %memory_info% GB >> "%USERPROFILE%\Desktop\systeminfo.txt"
- echo Hostname: %hostname% >> "%USERPROFILE%\Desktop\systeminfo.txt"
- echo IP Info: %ip_info% >> "%USERPROFILE%\Desktop\systeminfo.txt"
- echo MAC Info: %mac_info% >> "%USERPROFILE%\Desktop\systeminfo.txt"
- echo Gateway: %gateway% >> "%USERPROFILE%\Desktop\systeminfo.txt"
- 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 |