Отримайте модель відеокарти за допомогою командного рядка в Windows


13

Мені потрібно отримати текстове виведення за допомогою моделі відеокарти / GPU, використовуючи будь-який інструмент, існуючий у всіх версіях Windows від XP далі (навряд чи я ще нічого не знайшов) або використовуючи будь-який невеликий сторонній інструмент командного рядка.

Будь-які ідеї?


1
dxdiag має параметри командного рядка для виводу у файл txt або xml, він просто не надрукується на екран. Ви можете отримати інструменти gnuwin32, а потім промацати файл після створення його за допомогою dxdiag (і навіть grep для ліній, які вас цікавлять).
MaQleod

Відповіді:


23
wmic path win32_VideoController get name 

виконує завдання стисло з комунальної лінії. Завдяки відповіді Властиміла Овчачика вище, але не впевнений, чому це так багатослівно.


1
Інша відповідь видаляє рядок "Ім'я" з виводу.
DavidPostill

Дійсно, спасибі, @DavidPostill. І все-таки це досить складний підхід.
оче

Не так складно, коли ти дізнаєшся, як forпрацює. Він дуже потужний і чудовий для розбору рядків тексту;)
DavidPostill

wmic path win32_VideoController get driverVersionпокаже версію драйвера
nwgat

7

Виконати з партії:

@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, це було написано не для партії, а для того, щоб бути безпосередньо вставленим у командному рядку. Дозвольте мені відредагувати відповідь, щоб запобігти непорозумінню.
Властиміл Овчачик

Дякуємо, все ще отримуючи це повідомлення під час запуску прямо з командного рядка "%% n в цей час було несподівано."
користувач2723297

@ user2723297, як йдеться у відповіді, він повинен запускатися з пакетного файлу. Також stackoverflow.com/questions/14509652 / ...
Властіміл Ovčáčík

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. Можливо, вам знадобиться встановити powerhell на комп'ютерах XP. Їм потрібно встановити пакет оновлень 3, і тоді ви можете встановити Powershell звідси: http://support.microsoft.com/kb/968929 (Рамка управління Windows (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

Ось вихід мого ноутбука Dell:

-----------------------------------
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
Поясніть, будь ласка, що робить команда
Рамхаунд

Чи можете ви пояснити, що робить цей код і як він вирішує проблему, задану ОП? Непояснений код може здатися ненадійним і небезпечним для користувачів.
bwDraco

Отримайте інформацію про відеокарту та збережіть її у форматі HTML на C Drive під назвою vga.html
S.Alizadeh

Ця команда працює, хоча вам не потрібно (або неможливо через perms) встановити c:\VGA.htmlвід не адміністратора користувача. Замість цього просто змініть шлях до того, VGA.htmlщоб скинутись на dir користувача. Я погоджуюся, хоча його питання слід пояснювати у питанні, а не в коментарях.
dhaupin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.