Reg Add или добавление новой записи в реестр Windows через bat-файл

Реестр WindowsБывает так, что Вам нужно изменить некий параметр в реестре на компьютерах в сети. Естественно, чем больше у Вас компьютеров, тем утомительнее это делать вручную. В данном случае процесс можно автоматизировать созданием bat-файла, который и внесет все необходимые изменения на компьютеры сети. Далее этот файл можно распространить посредством групповых политик, специального ПО вроде Kaspersky Security Center или просто прописать в самом файле имена компьютеров и запустить со своей машины.

В общем виде команда reg add выглядит следующим образом:

reg add имя_раздела [/v имя_записи|/ve] [/t тип_данных] [/s разделитель] [/d значение] [/f]

Разберем её синтаксис подробнее. Для лучшего понимания взглянем на пример записи в реестре:

Reg Add или добавление новой записи в реестр Windows через bat-файл

Данная запись лежит в реестре по адресу HKEY_CURRENT_USER\Software\Avast Software\Avast Browser Cleanup. Это и есть имя раздела. Данную запись мы возьмем просто как пример. Если Вы собрались редактировать реестр через bat-файл, то Вы уж точно знаете, куда добавлять необходимую Вам запись. 🙂

Если запись будет добавляться в реестр другого компьютера, то перед именем раздела необходимо прописать имя компьютера, вот так: \\имя_компьютера\имя_раздела. Таким образом, Вы сразу можете прописать в bat-файле имена компьютеров и запустить его один раз у себя. Естественно, у Вас должны быть соответствующие права в домене.

/v имя записи. На скриншоте таких записей несколько. Например, PluginsCleaned.

/ve задаёт нулевое значение для записи, добавляемой в реестр. Не обязательно.

/t тип данных — записи реестра могут принимать один из следующих типов данных:

REG_SZ
REG_MULTI_SZ
REG_DWORD_BIG_ENDIAN
REG_DWORD
REG_BINARY
REG_DWORD_LITTLE_ENDIAN
REG_LINK
REG_FULL_RESOURCE_DESCRIPTOR
REG_EXPAND_SZ

/s разделитель — задает символы для разделения копий данных. Используется при типе данных REG_MULTI_SZ в случае размещения более одной записи в списке. Если разделитель не задан, то используется разделитель \0, заданный по умолчанию.

/d значение — значение добавляемой записи реестра.

/f — добавляет раздел или запись без запроса подтверждения. Не обязательно.

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

reg add /?

Возвращаясь к нашему примеру. Я ввел в командную строку:

reg add "HKEY_CURRENT_USER\Software\Avast Software\Avast Browser Cleanup" /v Primer /t REG_DWORD /d 0

В данном случае кавычки нужны, чтобы командная строка нормально восприняла пробелы в имени раздела. Как видите, я создал параметр Primer с типом REG_DWORD и значением 0.

Вот результат данной команды:

Reg Add или добавление новой записи в реестр Windows через bat-файл
Результат работы команды Reg Add

Вот, пожалуй, и всё, что нужно знать о добавлении записей в реестр через командную строку Windows. Помните, что редактирование реестра требует осторожности, но, в целом, он не так страшен, как его описывают. 🙂

Комментарии: 6 к “Reg Add или добавление новой записи в реестр Windows через bat-файл”

  1. Как будет выглядеть команда для добавления значения по умолчанию powershell.exe «-Command» «if((Get-ExecutionPolicy ) -ne ‘AllSigned’) { Set-ExecutionPolicy -Scope Process Bypass }; & ‘%1′» в ветку HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\RunAs\command?

    1. Я бы предположил, что:
      reg add HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\RunAs\command /v [имя записи] /t REG_MULTI_SZ /d powershell.exe «-Command» «if((Get-ExecutionPolicy ) -ne ‘AllSigned’) { Set-ExecutionPolicy -Scope Process Bypass }; & ‘%1′»
      Но, честно говоря, из Вашего вопроса не понял, что будет значением, и знаете ли Вы, какое имя записи задать (и влияет ли оно вообще на что-то).

    2. reg add «HKEY_CLASSES_ROOT\regfile\shell\edit\command» /ve /t reg_sz /d «Команда» /f
      вместо /V пришишь /VE это и есть значение по умолчанию

  2. Здравствуйте! Очень доступно написана статья. Спасибо! Еще бы хотелось увидеть про reg delete

  3. Вопрос со сложным значением. Как создать такое значение?
    /d «F:\E\TG\Telegram.exe» -workdir «F:/E/TG/» — «%1»
    По вашей методике вообще ничего не создаётся.

Добавить комментарий для Евгений Отменить ответ

Ваш адрес email не будет опубликован.