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添加到Windows菜单中的Autostart文件夹中。当系统启动和我登录时,批处理文件和VB脚本都会真正运行,但是My File.bat不会被执行。
我的意思是,每件事都在我的批处理文件旁边工作,它应该在后台运行。
发布于 2014-06-09 16:36:41
为了删除注册表值,注册表文件必须如下所示。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Title"=-这个注册表文件只是删除注册表项Title下的名称HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run的值。
Regedit有一个可以静默运行的选项:/s
因此,下面的命令行将注册表文件的内容导入到注册表中,而不显示给用户的消息,除非使用的用户帐户不具有使用时所需的管理员权限。
%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下的内容时不需要管理员特权,而regedit的使用需要管理员特权,即使是在当前用户注册表中进行修改时也是如此。
https://stackoverflow.com/questions/24124045
复制相似问题