PDA

Показать полную графическую версию : [решено] Определение видеокарты amd или nvidia


Svnkill
17-02-2018, 00:31
Привет. можно как то определить какая установлена видеокарта на компьютере?

Мне надо если стоит видеокарта AMD то установилась программа по пути (к примеру) C:\AMD\AMD.exe Если NVIDIA то С:\NVIDIA\NVIDIA.exe

Это можно как то реализовать через CMD/BAT?

alpap
17-02-2018, 01:53
какая установлена видеокарта на компьютере? »

@echo off
for /f "delims=" %%a in ('"wmic path Win32_VideoController get VideoProcessor /value|find "^=""') do set "%%a"
echo Тип видеопроцессора: "%VideoProcessor%"
pause>nul


по пути »
msinfo32
что именно нужно из вкладки "Дисплей"?

для кода вверху

echo %VideoProcessor%|>nul find /i "AMD" && команда установить C:\AMD\AMD.exe
echo %VideoProcessor%|>nul find /i "NVIDIA" && команда установить С:\NVIDIA\NVIDIA.exe


можно с реестра вытащить имя и путь, а гораздо удобнее это сделать на PoSh

Svnkill
17-02-2018, 02:41
PoSh »
Можно по подробнее?

@echo off
for /f "delims=" %%a in ('"wmic path Win32_VideoController get VideoProcessor /value|find "^=""') do set "%%a"
echo Тип видеопроцессора: "%VideoProcessor%"
pause>nul »

Проверил, выдает ошибочно INTL (у меня стоит NVIDIA), Можно как то исправить?

Petya V4sechkin
17-02-2018, 09:32
Svnkill, кстати, видеокарт может быть две и более.
И бывают даже конфигурации, в которых присутствуют и AMD, и NVIDIA вместе. Что делать в этом случае?

alpap, свойство VideoProcessor не содержит слово NVIDIA, можно использовать свойства AdapterCompatibility, Caption, Description или Name.
Например, варианты AdapterCompatibility:
NVIDIA
Advanced Micro Devices, Inc.
ATI Technologies Inc.
Intel Corporation

(третья строка - для очень старых версий драйвера: бренд ATI существовал до 2010 года).

Казбек
17-02-2018, 11:40
Вариант 1:
wmic path win32_VideoController get name
pause
Вариант 2:
@echo off
for /F "tokens=* skip=1" %%n in ('WMIC path Win32_VideoController get Name ^| findstr "."') do set GPU_NAME=%%n
echo %GPU_NAME%
pause

Petya V4sechkin
17-02-2018, 12:54
Svnkill, пример:
@echo off
setlocal enableextensions enabledelayedexpansion
set AMD_detected=
set NVIDIA_detected=
for /f "tokens=2 delims==" %%a in ('wmic path Win32_VideoController get AdapterCompatibility /value') do (
set v=%%a
set v=!v:~0,-1!
if "!v!"=="Advanced Micro Devices, Inc." set AMD_detected=1
if "!v!"=="ATI Technologies Inc." set AMD_detected=1
if "!v!"=="NVIDIA" set NVIDIA_detected=1
)
if defined AMD_detected echo AMD detected.
if defined NVIDIA_detected echo NVIDIA detected.

Svnkill
17-02-2018, 13:33
@echo off
setlocal enableextensions enabledelayedexpansion
set AMD_detected=
set NVIDIA_detected=
for /f "tokens=2 delims==" %%a in ('wmic path Win32_VideoController get AdapterCompatibility /value') do (
set v=%%a
set v=!v:~0,-1!
if "!v!"=="Advanced Micro Devices, Inc." set AMD_detected=1
if "!v!"=="ATI Technologies Inc." set AMD_detected=1
if "!v!"=="NVIDIA" set NVIDIA_detected=1
)
if defined AMD_detected echo AMD detected.
if defined NVIDIA_detected echo NVIDIA detected.
»

А где тут прописать путь к приложению? Сейчас все сработало, путь к NVIDIA и AMD.

Petya V4sechkin
17-02-2018, 13:49
Svnkill, в последних двух строках заменить echo:
if defined AMD_detected запуск_программы_для_AMD
if defined NVIDIA_detected запуск_программы_для_NVIDIA




© OSzone.net 2001-2012