Вопрос по windows, registry, batch-file, cmd – Запустить команду reg в cmd (bat-файл)?

43

я пытаюсь запустить этот рег код в CMD (файл Bat), но я не могзаставить его работать. Где я делаю не так?

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"HomePage"=dword:00000001

Это работает, если я сделаю это рег файл и дважды щелкните.

Код файла Bat (это нет работает, ошибок нет):

@echo off
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" /V HomePage /T REG_DWORD /F /D 1
Распечатывает ли какие-либо ошибки? добавлятьpause как последняя строка файла bat. David Ruhmann

Ваш Ответ

4   ответа
60

вероятно, получите приглашение UAC при импорте файла reg. Если вы принимаете это, у вас есть больше прав.

Поскольку вы пишетеполитика ключ, вам нужно иметь повышенные права. Эта часть реестра защищена, поскольку содержит параметры, которые администрирует ваш системный администратор.

Кроме того, вы можете попробовать запуститьregedit.exe из командной строки.

regedit.exe /S yourfile.reg

.. должен молча импортировать файл рег. УвидетьСинтаксис параметров командной строки RegEdit для дополнительных параметров командной строки.

запуск regedit.exe / S yourfile.reg - плохая идея, так как вы не будете уведомлены, еслиошибка Смотрите ответ ниже. Noam Manos
@ Да, правильно. Например, этот работает (смена страницы) REG ADD "HKCU \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ MICROSOFT \ INTERNET EXPLORER \ MAIN " / V "СТАРТОВАЯ СТРАНИЦА" / D "ask.com» / F user198989
Виноват. Конечно, ключ Политики - это особый случай. Harry Johnston
Там не должноникаких проблем с UAC, онс письмом в HKCU. Harry Johnston
42

В командной строке это 'лучше использоватьREG инструмент, а не РЕГЕДИТ:

REG IMPORT yourfile.reg

REG предназначен для консольного режима, а REGEDIT для графического режима. Вот почему работаетregedit.exe / S yourfile.reg плохая идея, так как выне будут уведомлены, если естьошибкатогда как REG Tool подскажет:

>  REG IMPORT missing_file.reg

ERROR: Error opening the file. There may be a disk or file system error.

>  %windir%\System32\reg.exe /?

REG Operation [Parameter List]

  Operation  [ QUERY   | ADD    | DELETE  | COPY    |
               SAVE    | LOAD   | UNLOAD  | RESTORE |
               COMPARE | EXPORT | IMPORT  | FLAGS ]

Return Code: (Except for REG COMPARE)

  0 - Successful
  1 - Failed

For help on a specific operation type:

  REG Operation /?

Examples:

  REG QUERY /?
  REG ADD /?
  REG DELETE /?
  REG COPY /?
  REG SAVE /?
  REG RESTORE /?
  REG LOAD /?
  REG UNLOAD /?
  REG COMPARE /?
  REG EXPORT /?
  REG IMPORT /?
  REG FLAGS /?
Тот'не плохой совет, но это не такт ответ на этот конкретный вопрос. (ОП сказал "Я"я пытаюсь использовать рег, почему неэто работает " так "вы должны использовать reg вместо regedit " это не sequitur). На второй взгляд это выглядит так, как будто выотвечаете на принятый ответ, а не на вопрос? Вероятно, его следует публиковать как комментарий, а не как ответ. Harry Johnston
Думаю вопрос был какЗапустить команду reg в cmd (bat-файле)? ", Люди, которые ищут ответ на него, попадут сюда ... Поэтому я советую им альтернативный способ импорта реестра в CMD. Это'Определенно лучше, чем Regedit. Noam Manos
8

Если память работает правильно, тоreg add Команда НЕ создаст полный путь к каталогу, если он не существует. Это означает, что если какой-либо из родительских разделов реестра не существует, они должны быть созданы вручную один за другим. Это действительно раздражает, я знаю!Пример:

@echo off
reg add "HKCU\Software\Policies"
reg add "HKCU\Software\Policies\Microsoft"
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer"
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel"
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" /v HomePage /t REG_DWORD /d 1 /f
pause
На моем компьютере с Windows XP SP3 успешно выполнялось следующее:reg add hkcu\software\aaa\aaa /ve /t reg_sz, Ни один изaaas существовал до запуска команды, и оба были созданы с ее помощью. Так что'Скорее всего, проблема разрешения действительно. Andriy M
Благодарю. Но это говоритдоступ запрещен" user198989
Если это говорит:доступ запрещен' тогдаreg add должен быть запущен от имени администратора. Также вы, скорее всего, можете удалить первые два оператора reg add из моего примера, потому что они почти всегда должны существовать. Для пакетного метода предоставления прав администратора см. Мой пост здесь:stackoverflow.com/a/13869544/891976 David Ruhmann
0

ть для него ключ reg. (сценарии не включены)

Похожие вопросы