自动运行时的批处理错误,卸载reg键的卸载命令不起作用

时间:2014-06-09 15:57:03

标签: batch-file vbscript cmd autostart

如你所知,我正在用批处理文件(学习)做一些stauff。我做了一些编程和stackoverflow帮助和互联网上的一些研究,我修复了很多错误。但!我还有2个问题无法解决。

1: 我已经了解到,通过这些命令,我​​可以将注册表项放到注册表中:

(在批处理文件中)

regedit "path\Reg File Name.reg"

(在reg文件中)

Windows Registry Editor Version 5.00

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

好吧,这是有效的,但是当我想删除密钥时没有任何反应。 我在reg文件中使用此代码删除密钥:

Windows Registry Editor Version 5.00

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

BUT!这" = - "没做什么!如何解决这个问题?我做错了什么。

=============================================== ===================================

2:我想打开我的批处理程序对用户不可见。所以它在后台运行。 所以我这样做了:

我在其中创建了一个批处理文件:

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

和脚本内部:

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

好吧,这是工作。我点击了我的start.bat,它在后台启动My File.bat隐身。

BUT!当我添加此文件(Start.bat)以自动启动它不起作用。确切地说,当系统启动i登录批处理文件时,实际上运行了该脚本而不是My File.bat。

我知道,我的批处理文件旁边的所有东西都是在后台运行。

多数民众赞成,请为我提供简单而全面的答案。我刚开始学习批量和英语。 我会尝试让我的其他帖子完全像这样描述。不再是我以前做过的事,不好意思。

1 个答案:

答案 0 :(得分:0)

注册表文件必须是

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"

将注册表文件的内容导入Windows注册表,而不向用户显示消息,除非使用的用户帐户没有使用 regedit 所需的管理员权限。如果注册表文件仅包含要删除键或值的数据,则不会导入任何内容,只会以静默方式删除键/值。

使用 reg 命令 reg ,只删除一个值而不是 regedit 更好的解决方案。

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

要获得有关命令 reg 的帮助,请在命令提示符窗口中运行命令reg.exe /?

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

但是这里写的所有信息都可以在WWW中找到几十次。所以请下次搜索所需的信息并自己试用,不要在这里寻求专家对这些简单任务的帮助。以Stack Overflow tour为例,了解欢迎哪些问题以及哪些问题不受欢迎。