Запустить команду reg в cmd (bat файл)?
Я пытаюсь запустить этот reg-код в 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
Ответы
Ответ 1
Вероятно, вы получите приглашение UAC при импорте файла reg. Если вы согласны с этим, у вас больше прав.
Поскольку вы пишете ключ "политики", вы должны иметь повышенные права. Эта часть реестра защищена, поскольку содержит параметры, которые администрирует ваш системный администратор.
В качестве альтернативы вы можете попробовать запустить regedit.exe
из командной строки.
regedit.exe /S yourfile.reg
.. должен молча импортировать файл reg. См. Синтаксис параметров командной строки RegEdit для получения дополнительных параметров командной строки.
Ответ 2
В командной строке лучше использовать инструмент REG, а не REGEDIT:
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 /?
Ответ 3
Если память работает правильно, команда 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
Ответ 4
Вы также можете просто создать предпочтение групповой политики и создать для него рег-ключ. (без использования скриптов)