ฉันต้องการเอาท์พุทข้อความกับการ์ดแสดงผล / GPU รุ่นโดยใช้เครื่องมือใด ๆ ที่มีอยู่ใน Windows ทุกรุ่นตั้งแต่ XP ขึ้นไป (ไม่แน่ฉันยังไม่พบอะไรเลย) หรือใช้เครื่องมือบรรทัดคำสั่งขนาดเล็กอื่น ๆ
ความคิดใด ๆ
ฉันต้องการเอาท์พุทข้อความกับการ์ดแสดงผล / GPU รุ่นโดยใช้เครื่องมือใด ๆ ที่มีอยู่ใน Windows ทุกรุ่นตั้งแต่ XP ขึ้นไป (ไม่แน่ฉันยังไม่พบอะไรเลย) หรือใช้เครื่องมือบรรทัดคำสั่งขนาดเล็กอื่น ๆ
ความคิดใด ๆ
คำตอบ:
wmic path win32_VideoController get name
งานรัดกุมจาก commmand line ขอบคุณคำตอบของ Vlastimil Ovčáčíkด้านบน แต่ไม่แน่ใจว่าทำไม verbose ถึงดังกล่าว
for
ทำงาน มันมีประสิทธิภาพมากและยอดเยี่ยมสำหรับการแยกบรรทัดข้อความ;)
wmic path win32_VideoController get driverVersion
จะแสดงเวอร์ชั่นของไดรเวอร์
เรียกใช้จากแบทช์:
@echo off
for /F "tokens=* skip=1" %%n in ('WMIC path Win32_VideoController get Name ^| findstr "."') do set GPU_NAME=%%n
echo %GPU_NAME%
powershell
แล้วกด Entercd ~\Desktop
จากนั้นกด EntervideoCardScript.ps1
จากนั้นกด EnterSet-ExecutionPolicy unrestricted
PowerShell:**** ตรวจสอบให้แน่ใจว่าคุณใช้คำสั่งต่อไปนี้เมื่อเสร็จสิ้นเพื่อรักษาความปลอดภัยของระบบของคุณ: ** 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 มีความเป็นไปได้ที่คุณอาจต้องติดตั้ง PowerShell บนเครื่อง XP พวกเขาจะต้องมี Service Pack 3 ติดตั้งแล้วคุณสามารถติดตั้ง Powershell ได้จากที่นี่: http://support.microsoft.com/kb/968929 (กรอบการจัดการ Windows (Windows PowerShell 2.0, WinRM 2.0 และ BITS 4.0))
คัดลอกรหัสนี้เป็น.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
ทำงานในพร้อมท์คำสั่ง:
wmic path win32_VideoController get /all /format:htable >> c:\VGA.html
c:\VGA.html
ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ แต่เพียงเปลี่ยนเส้นทางไปที่VGA.html
การถ่ายโอนข้อมูลไปยังผู้ใช้ dir ฉันเห็นด้วยว่ามันควรจะอธิบายถึงวัตถุประสงค์ในคำถามแทนการแสดงความคิดเห็นที่นี่