通过Windows中的命令行获取视频卡型号


12

我需要使用视频卡/ GPU模型获得文本输出,使用从XP开始的所有Windows版本中存在的任何工具(不太可能,我还没有找到任何东西)或使用任何小型命令行第三方工具。

有任何想法吗?


1
dxdiag有命令行选项输出到txt或xml文件,它只是不会打印到屏幕。您可以使用dxdiag创建gnuwin32工具然后捕获该文件(甚至grep用于您关注的行)。
MaQleod 2014年

Answers:


21
wmic path win32_VideoController get name 

从命令行简明扼要地完成工作。感谢VlastimilOvčáčík上面的回答,但不确定为什么它如此冗长。


1
另一个答案从输出中删除“名称”行。
DavidPostill

确实如此,谢谢@DavidPostill。不过,它的方法非常复杂。
2015年

当你学习如何for工作时,并不复杂。它非常强大,非常适合解析文本行;)
DavidPostill

wmic path win32_VideoController get driverVersion将显示驱动程序版本
nwgat 2016年

6

从批处理运行:

@echo off
for /F "tokens=* skip=1" %%n in ('WMIC path Win32_VideoController get Name ^| findstr "."') do set GPU_NAME=%%n
echo %GPU_NAME%

嗨!这看起来就像我在寻找,但我不能让它在我的电脑上工作,我不是批处理专家,你能帮帮忙吗?我得到了这个回复:C:\ Users \ user \ Desktop> gpu n)此时出乎意料。C:\ Users \ user \ Desktop> for / F“tokens = * skip = 1”n)C:\ Users \ user \ Desktop>
user2723297

@ user2723297,它不是为批处理编写的,而是直接粘贴在命令行中。让我编辑答案以防止误解。
VlastimilOvčáčík2014年

谢谢,当从命令提示符直接运行时仍然收到此消息“%% n此时出乎意料。”
user2723297 2014年

@ user2723297,如答案所述,它应该从批处理文件运行。另外stackoverflow.com/questions/14509652 / ...
VlastimilOvčáčík2014年

3
  • 复制此文件并以videoCardScript.ps1格式保存到桌面
  • 单击开始,然后键入powershell,然后按Enter键
  • 键入cd ~\Desktop然后按Enter键
  • 键入videoCardScript.ps1然后按Enter键
  • 注意:如果收到错误提及... 无法加载,因为在此系统上禁用了运行脚本。您可能需要在powershell中使用以下命令更改执行策略:Set-ExecutionPolicy unrestricted
  • ****确保在完成后执行以下命令以维护系统的安全性:** Set-ExecutionPolicy restricted

    dxdiag /x dxoutput.xml | Out-Null  #Out-Null here ensures the process here has been created before proceeding
    [xml]$xmldata = get-content "dxoutput.xml"
    $xmldata.DxDiag.DisplayDevices.DisplayDevice| % {
        $name=$_.CardName
        $manu=$_.Manufacturer
        $chip=$_.ChipType
        $type=$_.OutputType
        $version=$_.DriverVersion
        write-host "Name: `t`t`t $name"
        write-host "Manufacturer: `t`t $manu"
        write-host "Chip Type: `t`t $chip"
        write-host "Output Type: `t`t $type"
        write-host "Driver Version: `t $version"
        }
    del dxoutput.xml
    

如果您对获取更多信息感兴趣,可以del dxoutput.xml通过添加#前面的命令来注释掉命令。然后,您可以查看保存到桌面的xml文件的内容,并可以相应地进行调整。如果要删除脚本中的某些信息,可以随时注释掉这些特定行或完全删除它们。

PS-你可能会看到多张相同的牌。我有一个输出类型包含在这里的原因:卡将根据它可以支持的输出数量显示倍数。在我的情况下,我的显示DVI(自我解释)和HD15(VGA)。

PSS-我在Windows 8机器上运行它。您可能需要在XP机器上安装PowerShell。他们需要安装Service Pack 3,然后您可以从此处安装Powershell:http//support.microsoft.com/kb/968929(Windows Management Framework(Windows PowerShell 2.0,WinRM 2.0和BITS 4.0))


1

将此代码复制到.VBS文件中并使用以下命令运行cscript.exe

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_VideoController",,48) 
For Each objItem in colItems 
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_VideoController instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Caption: " & objItem.Caption
Next

以下是我的戴尔笔记本电脑的输出:

-----------------------------------
Win32_VideoController instance
-----------------------------------
Caption: Intel(R) HD Graphics 4000
-----------------------------------
Win32_VideoController instance
-----------------------------------
Caption: AMD Radeon HD 7700M Series

0

在命令提示符下运行:

wmic path win32_VideoController get /all /format:htable >> c:\VGA.html

3
请解释命令的作用
Ramhound

你能解释一下这段代码的作用以及它如何解决OP给出的问题吗?原因不明的代码对用户来说可能不受信任且危险。
bwDraco 2015年

它获取视频卡信息并将其保存为C盘中的html格式名为vga.html
S.Alizadeh 2015年

此命令有效,但您不需要(或不能由于烫发)c:\VGA.html从非管理员用户设置。而只是将路径更改VGA.html为转储到用户目录。我同意虽然它的目的应该在问题中解释而不是在评论中。
dhaupin 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.