bat命令查询硬件信息

需求是这样的
写一个bat命令,当命令执行的时候,先请用户输入姓名,然后继续执行查询出以下信息并写入一个文件,文件名称随便,文件可以放在与当前命令同一个文件夹下。
最终文件中的信息如下

姓名:
电脑主机名:
操作系统:
CPU:
主板:
硬盘:
内存:
显示器:
IP地址:
MAC(有线):
MAC(无线):

@echo off
title 硬件检测
sc config winmgmt start= auto >nul 2<&1
net start winmgmt 2>1nul
setlocal ENABLEDELAYEDEXPANSION
::set /p na=请输入姓名:
echo 姓名:%na%>硬件检测报告.txt
echo 电脑主机名:%COMPUTERNAME%>>硬件检测报告.txt
for /f "tokens=2,* delims=:" %%a in ('systeminfo^|find "OS 名称"') do (
echo 操作系统:%%a>>硬件检测报告.txt
)
::echo 操作系统:%OS%>>硬件检测报告.txt
echo CPU:>>硬件检测报告.txt
for /f "tokens=1,* delims==" %%a in ('wmic cpu get name^,ExtClock^,CpuStatus^,Description /value') do (
set /a tee+=1
if "!tee!" == "3" echo CPU个数 = %%b>>硬件检测报告.txt
if "!tee!" == "4" echo 处理器版本 = %%b>>硬件检测报告.txt
if "!tee!" == "5" echo 外 频 = %%b>>硬件检测报告.txt
if "!tee!" == "6" echo 名称 = %%b>>硬件检测报告.txt
)
set tee=0
echo.
echo 主版:>>硬件检测报告.txt
for /f "tokens=1,* delims==" %%a in ('wmic BASEBOARD get Manufacturer^,Product^,Version^,SerialNumber /value') do (
set /a tee+=1
if "!tee!" == "3" echo 制造商 = %%b>>硬件检测报告.txt
if "!tee!" == "4" echo 型 号 = %%b>>硬件检测报告.txt
if "!tee!" == "5" echo 序列号 = %%b>>硬件检测报告.txt
if "!tee!" == "6" echo 版 本 = %%b>>硬件检测报告.txt
)
set tee=0
echo.
echo 硬 盘:>>硬件检测报告.txt
for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get model^,interfacetype^,size^,totalsectors^,partitions /value') do (
set /a tee+=1
if "!tee!" == "3" echo 接口类型 = %%b>>硬件检测报告.txt
if "!tee!" == "4" echo 硬盘型号 = %%b>>硬件检测报告.txt
if "!tee!" == "5" echo 分区数 = %%b>>硬件检测报告.txt
if "!tee!" == "6" echo 容 量 = %%b>>硬件检测报告.txt
if "!tee!" == "7" echo 总扇区 = %%b>>硬件检测报告.txt
)
echo.
echo 内 存:>>硬件检测报告.txt
for /f "tokens=1,* delims==" %%a in ('systeminfo^|find "内存"') do (
echo %%a 4534 %%b >>硬件检测报告.txt
)
echo.
echo 显示器:>>硬件检测报告.txt
for /f "tokens=1,* delims==" %%a in ('wmic DESKTOPMONITOR get name^,ScreenWidth^,ScreenHeight^,PNPDeviceID /value') do (
set /a tee+=1
if "!tee!" == "3" echo 类 型 = %%b>>硬件检测报告.txt
if "!tee!" == "4" echo 其他信息 = %%b>>硬件检测报告.txt
if "!tee!" == "5" echo 屏幕高 = %%b>>硬件检测报告.txt
if "!tee!" == "6" echo 屏幕宽 = %%b>>硬件检测报告.txt
)
set tee=0
echo.
echo 网 卡:>>硬件检测报告.txt
for /f "tokens=1,* delims==" %%a in ('wmic NICCONFIG where "DNSEnabledForWINSResolution='FALSE'" get ipaddress^,macaddress^,description /value') do (
set /a tee+=1
if "!tee!" == "3" echo 网卡类型 = %%b>>硬件检测报告.txt
if "!tee!" == "4" echo 网卡IP = %%b>>硬件检测报告.txt
if "!tee!" == "5" echo 网卡MAC = %%b>>硬件检测报告.txt
)
set tee=0
pause

这是以前写的,修改了下,看看能不能不用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-28
电脑主机名:
操作系统:
IP地址:
MAC(有线):
MAC(无线)
都可以实现,姓名是登录的账户名吧。是的话也可以,
别的P无法实现,所以满足不了你的要求。
你去求VBS代码吧,VBS可以的。不过我不怎么会。追问

电脑主机名:
操作系统:
IP地址:
MAC(有线):
MAC(无线)
这些对应的命令是哪些呢,谢谢

追答

操作系统VER
别的,IPCONFIG /ALL 都有,findstr提取即可。
硬件用P的话用外部命令可以,比如万能驱动里面貌似就有,不过个人感觉没意义,那样就不是纯P了,还不如用别的呢。
P就是简洁,快速。

第2个回答  2012-12-28
期待大神的回答!!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网