Batch file 如何使用注册表文件删除注册表值? 1.如何使用注册表文件删除注册表值?

Batch file 如何使用注册表文件删除注册表值? 1.如何使用注册表文件删除注册表值?,batch-file,vbscript,cmd,autostart,Batch File,Vbscript,Cmd,Autostart,我了解到,我可以在批处理文件中使用此命令向Windows注册表添加注册表值 regedit "path\Reg File Name.reg" 注册表文件包含: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] "Title"="Path" CreateObject("Wscript.Shell").Run """" & WSc

我了解到,我可以在批处理文件中使用此命令向Windows注册表添加注册表值

regedit "path\Reg File Name.reg"
注册表文件包含:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Title"="Path"
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
这是有效的

但是,当我想用包含以下内容的注册表文件删除注册表值
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脚本文件包含:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Title"="Path"
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
这是有效的。我正在单击我的
start.bat
,它在后台启动
my File.bat
不可见

但它无法将文件
Start.bat
添加到Windows“开始”菜单中的
Autostart
文件夹中。当系统启动并且我登录时,批处理文件会真正运行,VB脚本也会运行,但是
My file.bat
不会执行


我的意思是,在我的批处理文件旁边,所有的东西都在工作,批处理文件应该在后台运行。

要删除注册表值,注册表文件必须如下所示

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Title"=-
此注册表文件仅删除注册表项
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
下名为
Title
的值

Regedit有一个静默运行的选项:
/s

因此,下面的命令行将注册表文件的内容导入Windows注册表,而不向用户显示消息,但使用的用户帐户没有使用regedit所需的管理员权限

%SystemRoot%\regedit.exe /s "path\Reg File Name.reg"
%SystemRoot%\system32\reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Title" /f
如果注册表文件只包含删除键或值的数据,则不会导入任何内容,只会以静默方式删除键/值

与对注册表文件使用regedit相比,仅删除单个值的更好解决方案是使用命令reg

%SystemRoot%\regedit.exe /s "path\Reg File Name.reg"
%SystemRoot%\system32\reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Title" /f
在命令提示符窗口中运行命令
reg/?
,以获取有关命令reg的帮助,并获取有关如何删除注册表值或注册表项的帮助

regedit相比,使用命令reg的优势在于,该命令在HKCU下修改内容时不需要管理员权限,而使用regedit则需要管理员权限,即使在当前用户注册表中进行修改也是如此