Как удалить значение реестра с помощью файла реестра?

1. Как удалить значение реестра с помощью файла реестра?

Я узнал, что я могу добавить значение реестра в реестр Windows с помощью этой команды в пакетном файле.

regedit "path\Reg File Name.reg"

Файл реестра содержит:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Title"="Path"

Это работает.

Но ничего не происходит, когда я хочу удалить значение реестра Title с файлом реестра, содержащим следующее:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Title"="Path" =-

=- ничего не делает. Как это исправить? Что я делаю неправильно?


2. Как запустить пакетный файл, скрытый в фоновом режиме, без видимого окна консоли после входа пользователя в систему?

Я сделал это:

Я создал пакетный файл с:

wscript.exe "path\Script.vbs" "path\My File.bat"

И файл сценария VB содержит:

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

Это работает. Я нажимаю на свой start.bat, и он начинает My File.bat невидимым в фоновом режиме.

Но он не работает над добавлением файла Start.bat в папку Autostart в меню «Пуск» Windows. Когда система загружается и я вхожу в систему, пакетный файл действительно запускается, а также сценарий VB, но My File.bat не выполняется.

Я имею в виду, что все работает, кроме моего пакетного файла, который должен работать в фоновом режиме.


person MrJW    schedule 09.06.2014    source источник


Ответы (1)


Файл реестра должен быть следующим для удаления значения реестра.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Title"=-

Этот файл реестра просто удаляет значение с именем Title в разделе реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.

Regedit может работать в автоматическом режиме: /s

Таким образом, следующая командная строка импортирует содержимое файла реестра в реестр Windows без отображения сообщения для пользователя, за исключением того, что используемая учетная запись пользователя не имеет прав администратора, необходимых для использования regedit.

%SystemRoot%\regedit.exe /s "path\Reg File Name.reg"

Если файл реестра содержит только данные для удаления ключа или значения, ничего не импортируется, а удаляются только ключи/значения.

Лучшим решением для удаления только одного значения, чем использование regedit с файлом реестра, является использование команды reg.

%SystemRoot%\system32\reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Title" /f

Запустите команду reg /? в окне командной строки, чтобы получить справку по команде reg, и reg delete /?, чтобы узнать, как удалить значение или ключ реестра.

Преимущество использования команды reg по сравнению с regedit заключается в том, что команда не требует прав администратора для изменения чего-либо в HKCU, в то время как использование < strong>regedit требует прав администратора даже для изменений в текущем реестре пользователей.

person Mofi    schedule 09.06.2014