Привет Я пытаюсь создать пакетный файл, который запрашивает ключ реестра и на основе его значения, определенная программа запущен.Запросить данные значения ключа reg и использовать «goto» и «if» для вывода базы по указанному значению
Я пробовал различные комбинации из Интернета, но я не могу получить правильное поведение.
В основном сценарий проверяет ключ regkey, который определяет, что такое текущий DPI. Основываясь на значении, запускается одна из двух программ (сценарии PowerShell), которая, в свою очередь, запускает окно InternetExplorer.Application с определенными ограничениями размера.
Источники:
То, что я получил до сих пор это:
@echo off
setlocal
set "Key=HKCU\Control Panel\Desktop\WindowMetrics"
set Type=REG_DWORD
set Value=AppliedDPI
set Data=
for /f "tokens=2,3" %%a in ('reg query %Key% /v %Value% 2^>NUL ^| find /i "%Value%"') do (
set TestType=%%a
set Data=%%b
)
if /i "%Data%"=="0x60" goto Data_96
if /i "%Data%"=="0xc0" goto Data_192
if /i not "%TestType%"=="%Type%" goto :Data_Missing
goto Data_Undefined
:Data_96
echo Data is "%Data%".
goto 96
:Data_192
echo Data is "%Data%".
goto 192
:Data_Missing
echo Key or value not found.
goto leave
:Data_Undefined
echo No action for data "%Data%" defined.
goto leave
:96
powershell.exe -ExecutionPolicy Unrestricted -File somescript1.ps1
goto leave
:192
powershell.exe -ExecutionPolicy Unrestricted -File somescript2.ps1
goto leave
:leave
Но это просто не работает. Продолжайте получать «Key или Value not found». Другие образцы, которые я пробовал, загружают оба сценария. Я, очевидно, установил что-то неправильно, но не уверен, что это такое.
Вам нужно поставить кавычки вокруг переменной% key% в REG QUERY. 'reg query"% Key% "/ v% Значение%' – Squashman
Спасибо за ответ @Squashman. К сожалению, теперь это приводит к еще одной ошибке: «┬set» не распознается как внутренняя или внешняя команда, операционная программа или командный файл. – FreelanceX
@Squashman Спасибо. С вашей помощью, а также отвечая на мой собственный следующий вопрос («┬set» был из-за «набора», имеющего пробел перед ним), я теперь получил его на работу! Спасибо! – FreelanceX