通过.bat/.cmd删除注册表项



我需要运行这个烦人的程序,每次执行后都会在启动列表中留下自己,更具体地说是"ComputerHKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersion run "

我正在寻找一个删除这个条目的命令,这样我就可以把它变成一个按钮,或者把它连接到程序上,省去了手动操作的麻烦。问题是,当涉及到注册表时,我太懦弱了,无法继续假设正确的命令是什么:D

那么,对于上面的路径和一个名为MyProgram的条目,该命令是什么呢?我们说的是windows 7, 64位。

首先,我建议查看应用程序的选项/设置/配置/首选项,它会在每次运行时将自己添加到Windows启动时自动启动的应用程序列表中。大多数这些应用程序都有一个名称为自动启动Windows或类似的复选框设置,可以简单地选中以避免在Windows启动时自动启动此应用程序。花点时间仔细查看所有选项/设置。

第二,如果这个应用程序真的没有这样的配置设置/选项在GUI中可见,并且在应用程序的手册/帮助中没有提到自动启动,你应该联系生产这个应用程序的公司,询问是否有一个非公开的文档命令行选项或一个隐藏的设置,导致不将应用程序本身注册到在Windows启动时自动执行的应用程序列表中。

第三,用于删除注册表中的值的命令是reg.exe

您可以通过在命令提示符窗口中输入reg /?来获得关于此命令的帮助,或者在删除键或值时输入reg delete /?来获得更详细的帮助

使用

命令
%SystemRoot%system32reg.exe delete HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionRun /v "Name of Value" /f

Name of Value是在Windows注册表中注册的应用程序的名称,它将自己添加到Windows启动时自动启动的32位应用程序列表中,不需要的值可以从Windows注册表中删除。

但请注意,使用reg.exe删除HKLM中的内容需要管理员权限。

PS:我建议在没有/f的命令提示符窗口中先尝试这个命令,以便能够验证在删除真正完成之前删除正确的注册表项下的正确值。错误使用reg.exe很容易导致注册表无法再使用Windows。

最新更新