Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.99/142: Рейтинг темы: голосов - 142, средняя оценка - 4.99
4 / 4 / 0
Регистрация: 27.10.2012
Сообщений: 10

Проверка наличия записи в реестре

27.10.2012, 01:09. Показов 31113. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, такая проблема есть 2 раздела HKLM\SYSTEM\0000 и HKLM\SYSTEM\0001 в них есть параметр "Param" который находиться либо в 0000 либо в 0001. задача, если "Param" в 0000 то занести в переменную в соответствующий путь "Pyt=HKLM\SYSTEM\0000", а если в 0001 то "Pyt=HKLM\SYSTEM\0001"
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2012, 01:09
Ответы с готовыми решениями:

Проверка наличия записи в реестре
Для автозапуска программы внёс в реестр: Dim Start As Microsoft.Win32.RegistryKey =...

Проверка наличия ключа в реестре
RegistryKey reg = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\LocalMashine\\Run\\"); ...

Проверка наличия раздела в реестре
Доброго времени суток, подскажите, как реализовать проверку наличия раздела в реестре? Например:...

28
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
27.01.2018, 15:12
Студворк — интернет-сервис помощи студентам
Не должно. У меня все работает штатно. Копировал ваш пример без изменений.

Попробуйте, как предлагали в самом начале

Code
1
2
@echo off
reg query "HKCU\Software\Моя ветка" /v "Primer" >nul || (reg add "HKCU\Software\Моя ветка" /v Primer /t REG_SZ /d 0)
Добавлено через 57 секунд
Александр Марин, нюанс.
На скрине видно сообщение, что указанный ключ не найден.
Проверяйте скрипт с @echo on, где то ошибка
1
 Аватар для x-nik
14 / 12 / 2
Регистрация: 13.06.2014
Сообщений: 185
21.09.2023, 23:38
Подскажите пожалуйста, как правильно оформить эту конструкцию:
Если есть ветка реестра и с определенным значением, то выполняется 1 действие, если нет то действие 2
Code
1
2
3
4
5
IF EXIST "REG QUERY HKLM\SYSTEM\ControlSet001\Control\Windows /v ErrorMode /t REG_DWORD /d 1"  (
  действие 1
) Else (
  действие 2
)
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
21.09.2023, 23:40
x-nik,

Windows Batch file
1
2
3
4
5
6
REG QUERY HKLM\SYSTEM\ControlSet001\Control\Windows /v ErrorMode >Nul 2>Nul
if %ErrorLevel%==0 (
    ветка существует
) else (
    ветки не существует
)
1
 Аватар для x-nik
14 / 12 / 2
Регистрация: 13.06.2014
Сообщений: 185
22.09.2023, 00:23
nekit270,
Спасибо, пример рабочий, только не совсем понял как значение указывать
если будет не "/d 1" а скажем "/d 0" ?
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
22.09.2023, 01:13
Цитата Сообщение от x-nik Посмотреть сообщение
Спасибо, пример рабочий, только не совсем понял как значение указывать
это просто сделать никак, можно с помощью подпрограммы:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
setlocal EnableDelayedExpansion
 
call :CheckReg HKLM\SYSTEM\ControlSet001\Control\Windows ErrorMode 0
echo %ERRORLEVEL%
 
exit /b
 
:CheckReg
    setlocal EnableDelayedExpansion
    set el=1
    for /f "tokens=1,2,3 skip=2 eol=" %%i in ('reg query "%~1" /v "%~2"') do (
        if "%%j"=="REG_DWORD" ( set /a val=%%k ) else (
        if "%%j"=="REG_QWORD" ( set /a val=%%k ) else (
        ( set "val=%%k" ) ) )
        if "!val!"=="%~3" set el=0
    )
    endlocal & exit /b %el%
goto :eof
CheckReg устанавливает ERRORLEVEL в 0, если поиск успешен, и 1 - если нет. его синтаксис:
Windows Batch file
1
call :CheckReg "ветка реестра" "параметр" значение
0
 Аватар для x-nik
14 / 12 / 2
Регистрация: 13.06.2014
Сообщений: 185
22.09.2023, 18:00
Цитата Сообщение от nekit270 Посмотреть сообщение
call :CheckReg "ветка реестра" "параметр" значение
А как значение прописать? например: /d 1
Прописываю так:
Code
1
REG QUERY HKLM\SYSTEM\ControlSet001\Control\Windows /v ErrorMode /t REG_DWORD /d 1 >Nul 2>Nul
не проверяет значение, только "ветка реестра" "параметр" проверяет
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
23.09.2023, 07:59
x-nik, значение указывается третьим аргументом CheckReg. если указанное значение равно значению в реестре, ERRORLEVEL устанавливается в 0, иначе - в 1
0
 Аватар для x-nik
14 / 12 / 2
Регистрация: 13.06.2014
Сообщений: 185
25.09.2023, 21:44
nekit270, А можно прикрутить действие
Code
1
2
3
4
5
if %ErrorLevel%==0 (
    ветка существует
) else (
    ветки не существует
)
на результат правда или нет?
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
setlocal EnableDelayedExpansion
 
call :CheckReg HKLM\SYSTEM\ControlSet001\Control\Windows ErrorMode 0
echo %ERRORLEVEL%
 
exit /b
 
:CheckReg
    setlocal EnableDelayedExpansion
    set el=1
    for /f "tokens=1,2,3 skip=2 eol=" %%i in ('reg query "%~1" /v "%~2"') do (
        if "%%j"=="REG_DWORD" ( set /a val=%%k ) else (
        if "%%j"=="REG_QWORD" ( set /a val=%%k ) else (
        ( set "val=%%k" ) ) )
        if "!val!"=="%~3" set el=0
    )
    endlocal & exit /b %el%
goto :eof
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
25.09.2023, 23:54
x-nik,

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
setlocal EnableDelayedExpansion
 
call :CheckReg HKLM\SYSTEM\ControlSet001\Control\Windows ErrorMode 0
if %ErrorLevel%==0 (
    ветка существует
) else (
    ветки не существует
)
 
exit /b
 
:CheckReg
    setlocal EnableDelayedExpansion
    set el=1
    for /f "tokens=1,2,3 skip=2 eol=" %%i in ('reg query "%~1" /v "%~2"') do (
        if "%%j"=="REG_DWORD" ( set /a val=%%k ) else (
        if "%%j"=="REG_QWORD" ( set /a val=%%k ) else (
        ( set "val=%%k" ) ) )
        if "!val!"=="%~3" set el=0
    )
    endlocal & exit /b %el%
goto :eof
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2023, 23:54

Проверка наличия ветки Java в реестре
Доброго времени суток. Каким образом можно определить наличие ветки в реестре (нужная ветка:...

Проверка наличия в реестре определенных значений
Доброго всем времени суток, решил поучить C#, и столкнулся с проблемой поиска значения реестра. с самим нахождением всё понятно. но...

Проверка наличия в реестре Microsoft->Office->Access
Доброго дня уважаемые форумчане! Решила задать вопросик и в этой ветке. Суть дела: используя прогу SmartInstallMaker пытаюсь...

Проверка наличия ключа в реестре при старте программы
Здравствуйте уважаемые программисты у меня к вам такой вопрос у меня есть форма на форме Memo1 и кнопка как мне сделать что бы при запуске...

Проверка наличия записи
Здравствуйте, Есть две таблицы: Sclad: id 111 222 888


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru