Как найти имя видеоадаптера с помощью if-else, используя файл * .bat - PullRequest
1 голос
/ 26 апреля 2020

Не могу понять, что не так, пожалуйста, помогите.

Основная цель выглядит следующим образом (псевдокод):

if(getCurrentVideoAdapterName().contains("List of video adapter names"))
{
print True
}else
{
print false
}

Но это нужно сделать в файле * .bat Я новичок в этом, и это мои попытки:

SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR /F "usebackq tokens=* skip=1" %%F IN (`wmic PATH Win32_videocontroller GET description`) DO (
  SET var!count!=%%F
  SET /a count=!count!+1
)
ECHO %var1%
ECHO %var2%
Findstr /c:%var1% listNameVideoAdapters.txt 
ENDLOCAL
if %errorlevel%==0 (
echo "True")
if %errorlevel%==1 (
echo "Falsee!")
pause

wmic PATH Win32_videocontroller GET description -return возвращает:

Description
NVIDIA GeForce GT 720M
Intel(R) HD Graphics 4000

и listNameVideoAdapters.txt содержит список с различными именами видеокарт (включая моя NVIDIA GeForce GT 720M)

1 Ответ

0 голосов
/ 26 апреля 2020

нет необходимости в for l oop:

wmic PATH Win32_videocontroller GET description |findstr /g:listNameVideoAdapters.txt >nul && echo True || echo False

findstr /g получает список строк для поиска из файла (который у вас уже есть)

...