Pobierz model karty graficznej za pomocą wiersza polecenia w systemie Windows

13

Muszę uzyskać tekst z modelem karty graficznej / GPU, używając dowolnego narzędzia istniejącego we wszystkich wersjach systemu Windows od XP (mało prawdopodobne, niczego jeszcze nie znalazłem) lub używając dowolnego małego narzędzia wiersza polecenia.

Jakieś pomysły?

użytkownik2723297
źródło
1
dxdiag ma opcje wiersza poleceń do wyświetlania w pliku txt lub xml, po prostu nie drukuje na ekranie. Możesz pobrać narzędzia gnuwin32, a następnie cat plik po utworzeniu go za pomocą dxdiag (a nawet grep dla linii, na których ci zależy).
MaQleod

Odpowiedzi:

23
wmic path win32_VideoController get name 

wykonuje pracę zwięźle z linii poleceń. Dzięki powyższej odpowiedzi Vlastimila Ovčáčíka, ale nie jestem pewien, dlaczego jest tak gadatliwy.

och
źródło
1
Druga odpowiedź usuwa wiersz „Nazwa” z wyniku.
DavidPostill
Rzeczywiście, dzięki, @DavidPostill. Mimo to jest to dość skomplikowane podejście.
oche
Nie jest to takie skomplikowane, gdy dowiesz się, jak fordziała. Jest bardzo potężny i świetnie
nadaje się
wmic path win32_VideoController get driverVersionpokaże wersję sterownika
nwgat
7

Uruchom z partii:

@echo off
for /F "tokens=* skip=1" %%n in ('WMIC path Win32_VideoController get Name ^| findstr "."') do set GPU_NAME=%%n
echo %GPU_NAME%
Vlastimil Ovčáčík
źródło
Cześć! Wygląda dokładnie tak, jak szukam, ale nie mogę zmusić go do pracy na komputerze. Nie jestem ekspertem od partii, czy mógłbyś pomóc? Otrzymuję tę odpowiedź: C: \ Users \ user \ Desktop> gpu n) było w tej chwili nieoczekiwane. C: \ Users \ user \ Desktop> for / F "tokeny = * skip = 1" n) C: \ Users \ user \ Desktop>
user2723297
@ user2723297, nie został napisany dla partii, ale do bezpośredniego wklejenia w wierszu poleceń. Pozwól mi edytować odpowiedź, aby uniknąć nieporozumień.
Vlastimil Ovčáčík
Dzięki, nadal otrzymuję ten komunikat, gdy uruchomiony jest bezpośrednio z wiersza polecenia „%% n był nieoczekiwany w tej chwili”.
user2723297,
@ user2723297, jak stwierdzono w odpowiedzi, należy go uruchomić z pliku wsadowego. Również stackoverflow.com/questions/14509652/…
Vlastimil Ovčáčík
3
  • Skopiuj to i zapisz na pulpicie jako videoCardScript.ps1
  • Kliknij Start, a następnie wpisz, powershella następnie naciśnij enter
  • wpisz, cd ~\Desktopa następnie naciśnij enter
  • wpisz, videoCardScript.ps1a następnie naciśnij enter
  • Uwaga: jeśli pojawi się błąd informujący, że ... nie można załadować, ponieważ uruchamianie skryptów jest wyłączone w tym systemie. może trzeba zmienić politykę realizacji zleceń za pomocą następującego polecenia PowerShell: Set-ExecutionPolicy unrestricted.
  • **** Upewnij się, że po wykonaniu polecenia wykonasz następujące polecenie, aby zachować bezpieczeństwo swojego systemu: ** 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
    

Jeśli chcesz uzyskać więcej informacji, możesz skomentować to del dxoutput.xmlpolecenie, dodając #przed nim. Następnie możesz spojrzeć na zawartość pliku xml zapisanego na pulpicie i można go odpowiednio dostosować. Jeśli chcesz usunąć pewne informacje ze skryptu, zawsze możesz skomentować te konkretne wiersze lub całkowicie je usunąć.

PS - możesz zobaczyć wiele takich samych kart. Jest powód, dla którego mam tutaj dołączony typ wyjścia: karta pokaże mnożniki na podstawie liczby obsługiwanych wyjść. W moim przypadku moje pokazuje DVI (oczywiste) i HD15 (czyli VGA).

PSS - uruchomiłem to na komputerze z systemem Windows 8. Istnieje możliwość zainstalowania PowerShell na komputerach XP. Muszą mieć zainstalowany dodatek Service Pack 3, a następnie możesz zainstalować Powershell tutaj: http://support.microsoft.com/kb/968929 (Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0 i BITS 4.0))

Bradley Forney
źródło
1

skopiuj ten kod do .VBSpliku i uruchom go za pomocą 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

Oto dane wyjściowe mojego laptopa Dell:

-----------------------------------
Win32_VideoController instance
-----------------------------------
Caption: Intel(R) HD Graphics 4000
-----------------------------------
Win32_VideoController instance
-----------------------------------
Caption: AMD Radeon HD 7700M Series
magicandre1981
źródło
0

Uruchom w wierszu polecenia:

wmic path win32_VideoController get /all /format:htable >> c:\VGA.html
S.Alizadeh
źródło
3
Proszę wyjaśnić, co robi polecenie
Ramhound
Czy możesz wyjaśnić, co robi ten kod i jak rozwiązuje problem zgłoszony przez PO? Niewyjaśniony kod może wydawać się niezaufany i niebezpieczny dla użytkowników.
bwDraco,
Pobiera informacje o karcie graficznej i zapisuje ją w formacie HTML na C Drive o nazwie vga.html
S.Alizadeh
To polecenie działa, chociaż nie musisz (lub nie możesz z powodu perms) ustawić c:\VGA.htmlod użytkownika niebędącego administratorem. Zamiast tego po prostu zmień ścieżkę VGA.htmlna zrzut do katalogu użytkownika. Zgadzam się, chociaż jego cel powinien zostać wyjaśniony w pytaniu, a nie w komentarzu.
dhaupin