bat脚本生成查看电脑配置\硬件信息

该脚本通过WindowsManagementInstrumentation(WMI)查询,收集并显示了本机的系统类型、操作系统、CPU、内存、硬盘、网络适配器、显卡、声卡等硬件配置信息,以及工作环境如用户名、工作组和域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

右键新建文本文档,打开输入以下内容后另存为.bat后缀的文件。运行后即可在当前目录下生成信息文本。

/*&cls&echo off&cd /d "%~dp0"
rem  功能: 获取本机系统及硬件配置信息

set #=获取本机系统及硬件配置信息

(hostname)>>%temp%\temp.txt
set /p h=<%temp%\temp.txt
del /f /q %temp%\temp.txt

set y=%date:~0,4%%date:~5,2%%date:~8,2%
type "%~f0"|cscript -nologo -e:jscript "%~f0">"%tmp%\v.v"
cscript -nologo -e:vbscript "%tmp%\v.v" 2>%h%_%y%_info.log
title 获取本机系统及硬件配置信息


echo .
echo ..

echo /-----------------------------------------------\
echo  请查看当前目录下的 %h%_%y%_info.log  
echo \-----------------------------------------------/

echo ..
echo .
pause
rem start %h%_%y%_info.log
exit
*/
var text=WSH.StdIn.ReadAll();
var vbs=text.match(/\/\*\r\n([\s\S]+)\*\/\s*$/);
WSH.echo(vbs[1]);
/*

On Error Resume Next
Set fso=CreateObject("Scripting.Filesystemobject")
Set ws=CreateObject("WScript.Shell")
Set wmi=GetObject("winmgmts:\\.\root\cimv2")

WSH.echo "  系统信息收集中, 请稍等..."
WSH.echo "============================="

WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============系统信息============"
Set query=wmi.ExecQuery("Select * from Win32_ComputerSystem")
For each item in query
    WSH.StdErr.WriteLine "当前用户="& item.UserName
    WSH.StdErr.WriteLine "工作组=" & item.Workgroup
    WSH.StdErr.WriteLine "域=" & item.Domain
    WSH.StdErr.WriteLine "计算机名=" & item.Name
    WSH.StdErr.WriteLine "系统类型=" & item.SystemType
Next
    
Set query=wmi.ExecQuery("Select * from Win32_OperatingSystem")
For each item in query
    WSH.StdErr.WriteLine "系统=" & item.Caption & "[" & item.Version & "]"
    WSH.StdErr.WriteLine "初始安装日期=" & item.InstallDate
    visiblemem=item.TotalVisibleMemorySize
    virtualmem=item.TotalVirtualMemorySize
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============主板BIOS============"
Set query=wmi.ExecQuery("Select * from Win32_ComputerSystemProduct")
For each item in query
    WSH.StdErr.WriteLine "制造商=" & item.Vendor
    WSH.StdErr.WriteLine "型号=" & item.Name
Next
   
Set query=wmi.ExecQuery("Select * from Win32_BIOS")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "bios制造商=" & item.Manufacturer
    WSH.StdErr.WriteLine "发布日期=" & item.ReleaseDate
    WSH.StdErr.WriteLine "版本=" & item.SMBIOSBIOSVersion
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============CPU信息============"
Set query=wmi.ExecQuery("Select * from WIN32_PROCESSOR")
For each item in query
    WSH.StdErr.WriteLine "序号=" & item.DeviceID
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "核心=" & item.NumberOfCores
    WSH.StdErr.WriteLine "线程=" & item.NumberOfLogicalProcessors
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============内存============"
WSH.StdErr.WriteLine "总物理内存=" & FormatNumber(visiblemem/1048576,2,True) & " GB"
WSH.StdErr.WriteLine "总虚拟内存=" & FormatNumber(virtualmem/1048576,2,True) & " GB"
Set query=wmi.ExecQuery("Select * from Win32_PhysicalMemory")
For each item in query
    WSH.StdErr.WriteLine "序号=" & item.Tag
    WSH.StdErr.WriteLine "容量=" & FormatSize(item.Capacity)
    WSH.StdErr.WriteLine "主频=" & item.Speed
    WSH.StdErr.WriteLine "制造商=" & item.Manufacturer
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============物理硬盘============"
Set query=wmi.ExecQuery("Select * from Win32_DiskDrive")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Caption
    WSH.StdErr.WriteLine "接口=" & item.InterfaceType
    WSH.StdErr.WriteLine "容量=" & FormatSize(item.Size)
    WSH.StdErr.WriteLine "分区数=" & item.Partitions
    WSH.StdErr.WriteLine '\n'
Next
    
WSH.StdErr.WriteLine "============硬盘逻辑分区============"
Set query=wmi.ExecQuery("Select * from Win32_LogicalDisk Where DriveType=3 or DriveType=2")
For each item in query
    WSH.StdErr.WriteLine item.Caption & Chr(9) & item.FileSystem & Chr(9) & FormatSize(item.Size) & Chr(9) & FormatSize(item.FreeSpace)
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============网卡============"
Set query=wmi.ExecQuery("Select * from Win32_NetworkAdapter Where NetConnectionID !=null and not Name like '%Virtual%'")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "连接名=" & item.NetConnectionID
    WSH.StdErr.WriteLine "MAC=" & item.MACAddress
    Set query2=wmi.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where Index=" & item.Index)
    For each item2 in query2
        If typeName(item2.IPAddress) <> "Null" Then
            WSH.StdErr.WriteLine "IP=" & item2.IPAddress(0)
        End If
    Next
    WSH.StdErr.WriteLine '\n'
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============显卡============"
Set query=wmi.ExecQuery("Select * from Win32_VideoController")
For each item in query
    WSH.StdErr.WriteLine "名称=" & item.Name
    WSH.StdErr.WriteLine "显存=" & FormatSize(Abs(item.AdapterRAM))
    WSH.StdErr.WriteLine "当前刷新率=" & item.CurrentRefreshRate
    WSH.StdErr.WriteLine "水平分辨率=" & item.CurrentHorizontalResolution
    WSH.StdErr.WriteLine "垂直分辨率=" & item.CurrentVerticalResolution
    WSH.StdErr.WriteLine '\n'
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============声卡============"
Set query=wmi.ExecQuery("Select * from WIN32_SoundDevice")
For each item in query
    WSH.StdErr.WriteLine item.Name
Next
    
WSH.StdErr.WriteLine '\n'
WSH.StdErr.WriteLine "============打印机============"
Set query=wmi.ExecQuery("Select * from Win32_Printer")
For each item in query
    If item.Default =True Then
        WSH.StdErr.WriteLine item.Name & "(默认)"
    Else
        WSH.StdErr.WriteLine item.Name
    End If
Next

WSH.echo "  电脑信息已经收集完成!"
WSH.echo "============================"
WSH.Quit

Function FormatSize(byVal t)
    If t >= 1099511627776 Then
        FormatSize = FormatNumber(t/1099511627776, 2, true) & " TB"
    ElseIf t >= 1073741824 Then
        FormatSize = FormatNumber(t/1073741824, 2, true) & " GB"
    ElseIf t >= 1048576 Then
        FormatSize = FormatNumber(t/1048576, 2, true) & " MB"
    ElseIf t >= 1024 Then
        FormatSize = FormatNumber(t/1024, 2, true) & " KB"
    Else
        FormatSize = t & " B"    
    End If
End Function

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值