Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Определение видеокарты amd или nvidia (http://forum.oszone.net/showthread.php?t=333230)

Svnkill 17-02-2018 00:31 2798479

Определение видеокарты amd или nvidia
 
Привет. можно как то определить какая установлена видеокарта на компьютере?

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

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

alpap 17-02-2018 01:53 2798493

Цитата:

Цитата Svnkill
какая установлена видеокарта на компьютере? »

Код:

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

Цитата:

Цитата Svnkill
по пути »

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 2798497

Цитата:

Цитата alpap
PoSh »

Можно по подробнее?

Цитата:

Цитата alpap
@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 2798508

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 2798515

Вариант 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 2798530

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 2798535

Цитата:

Цитата Petya V4sechkin
Код:

@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 2798539

Svnkill, в последних двух строках заменить echo:
Код:

if defined AMD_detected запуск_программы_для_AMD
if defined NVIDIA_detected запуск_программы_для_NVIDIA



Время: 23:01.

Время: 23:01.
© OSzone.net 2001-