Показать полную графическую версию : [решено] Определение видеокарты amd или nvidia
Привет. можно как то определить какая установлена видеокарта на компьютере?
Мне надо если стоит видеокарта AMD то установилась программа по пути (к примеру) C:\AMD\AMD.exe Если NVIDIA то С:\NVIDIA\NVIDIA.exe
Это можно как то реализовать через CMD/BAT?
какая установлена видеокарта на компьютере? »
@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
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 года).
Вариант 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.
@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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.