Lấy mô hình thẻ video thông qua dòng lệnh trong Windows


13

Tôi cần nhận được một đầu ra văn bản với mô hình card màn hình / GPU, sử dụng bất kỳ công cụ nào có trong tất cả các phiên bản Windows từ XP trở đi (không chắc là tôi chưa tìm thấy gì) hoặc sử dụng bất kỳ công cụ bên thứ ba dòng lệnh nhỏ nào.

Có ý kiến ​​gì không?


1
dxdiag có các tùy chọn dòng lệnh để xuất ra tệp txt hoặc xml, nó sẽ không in ra màn hình. Bạn có thể lấy các công cụ gnuwin32 và sau đó gửi tệp sau khi bạn tạo nó bằng dxdiag (và thậm chí grep cho các dòng bạn quan tâm).
MaQleod

Câu trả lời:


23
wmic path win32_VideoController get name 

không công việc chính xác từ dòng commmand. Cảm ơn câu trả lời của Vlastimil Ovčáčík ở trên nhưng không chắc tại sao nó lại quá dài dòng.


1
Câu trả lời khác sẽ loại bỏ dòng "Tên" khỏi đầu ra.
DavidPostill

Thật vậy, cảm ơn, @DavidPostill. Tuy nhiên, đây là một cách tiếp cận khá phức tạp.
oche

Không quá phức tạp khi bạn học cách làm forviệc. Nó rất mạnh mẽ và tuyệt vời để phân tích các dòng văn bản;)
DavidPostill

wmic path win32_VideoController get driverVersionsẽ hiển thị phiên bản trình điều khiển
nwgat

7

Chạy từ đợt:

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

Chào! Trông giống hệt như tôi đang tìm kiếm, nhưng tôi không thể làm cho nó hoạt động trên PC của mình, tôi không phải là chuyên gia hàng loạt, bạn có thể giúp đỡ không? Tôi nhận được phản hồi này: C: \ Users \ user \ Desktop> gpu n) không mong đợi tại thời điểm này. C: \ Users \ user \ Desktop> for / F "tokens = * Skip = 1" n) C: \ Users \ user \ Desktop>
user2723297

@ user2723297, nó không được viết theo đợt, nhưng được dán trực tiếp vào dòng lệnh. Hãy để tôi chỉnh sửa câu trả lời để tránh hiểu lầm.
Vlastimil Ovčáčík

Cảm ơn, vẫn nhận được thông báo này khi chạy thẳng từ dấu nhắc lệnh "%% n không mong đợi tại thời điểm này."
dùng2723297 ngày

@ user2723297, như câu trả lời, nó được cho là chạy từ tệp bó. Ngoài ra stackoverflow.com/questions/14509652/
Mạnh

3
  • Sao chép này và lưu vào máy tính để bàn của bạn dưới dạng videoCardScript.ps1
  • Bấm Bắt đầu sau đó gõ powershellvà sau đó nhấn enter
  • cd ~\Desktoprồi nhấn enter
  • videoCardScript.ps1rồi nhấn enter
  • lưu ý: nếu bạn nhận được lỗi đề cập đến ... không thể tải được vì chạy tập lệnh bị vô hiệu hóa trên hệ thống này. bạn có thể cần thay đổi chính sách thực thi của mình bằng lệnh sau trong powershell : Set-ExecutionPolicy unrestricted.
  • **** Đảm bảo bạn thực hiện lệnh sau khi hoàn tất để duy trì bảo mật hệ thống của bạn: ** 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
    

Nếu bạn muốn biết thêm thông tin, bạn có thể nhận xét del dxoutput.xmllệnh bằng cách thêm #vào trước nó. Sau đó, bạn có thể xem nội dung của tệp xml được lưu vào máy tính để bàn của bạn và có thể điều chỉnh cho phù hợp. Nếu bạn muốn xóa một số thông tin trong tập lệnh, bạn luôn có thể nhận xét những dòng cụ thể đó hoặc xóa chúng hoàn toàn.

PS- bạn có thể thấy nhiều thẻ giống nhau. Có một lý do tôi có Loại đầu ra được bao gồm ở đây: một thẻ sẽ hiển thị bội số dựa trên số lượng đầu ra mà nó có thể hỗ trợ. Trong trường hợp của tôi, tôi hiển thị DVI (tự giải thích) và HD15 (là VGA).

PSS- Tôi đã chạy nó trên máy Windows 8. Có khả năng bạn có thể cần phải cài đặt powershell trên các máy XP. Họ sẽ cần cài đặt Gói dịch vụ 3 và sau đó bạn có thể cài đặt Powershell từ đây: http://support.microsoft.com/kb/968929 (Khung quản lý Windows (Windows PowerShell 2.0, WinRM 2.0 và BITS 4.0))


1

sao chép mã này vào một .VBStệp và chạy nó với 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

Đây là đầu ra của Máy tính xách tay Dell của tôi:

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

0

Chạy trong Dấu nhắc Lệnh:

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

3
Vui lòng giải thích những gì lệnh làm
Ramhound

Bạn có thể giải thích mã này làm gì và cách giải quyết vấn đề do OP đưa ra không? Mã không giải thích được có thể xuất hiện không đáng tin cậy và nguy hiểm cho người dùng.
bwDraco

Nó nhận thông tin Thẻ Video và lưu dưới dạng html trong C Drive có tên vga.html
S.Alizadeh

Lệnh này hoạt động, mặc dù bạn không cần (hoặc không thể do perms) được đặt c:\VGA.htmltừ người dùng không phải là quản trị viên. Thay vào đó chỉ cần thay đổi đường dẫn VGA.htmlđể kết xuất vào thư mục người dùng. Tôi đồng ý mặc dù mục đích của nó nên được giải thích trong câu hỏi thay vì bình luận ở đây.
dhaupin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.