【发布时间】:2014-11-26 15:23:59
【问题描述】:
我的问题是我必须从系统注册表中删除包含特定单词的每个键和子键(可以更改,它始终是同一个单词)
直到现在我已经在批处理中创建了一个脚本,该脚本在 .txt 文件中导出包含我正在搜索的单词的每个键和子键,使用 vbs 脚本我可以修改键的名称(因为 REG QUERY像“HKEY_LOCAL_MACHINE”和REG DELETE这样的导出键只需要“HKLM”,然后用另一个脚本我需要搜索QUERY导出的每个键(或子键)并删除它们。脚本就像
SET /P keyword="insert keyword to search: "
REG EXPORT HKCU HKCU.reg
REG QUERY HKCU /f %Chiavediricerca% /s >logHKCU.txt
cscript replace.vbs "logHKCU.txt" "HKEY_CURRENT_USER" "HKCU"
FOR /F "delims=;" %i in (logHKCU.txt) do REG DELETE "%i" /va /f
现在我的问题是,如果我在命令提示符中编写每一行,脚本会很好地工作,但是如果我将此代码放在 .bat 文件中,脚本会在 FOR 命令时停止,关闭 cmd 而不显示任何错误...
有什么建议吗? 对不起,如果我的英语不完美,感谢您给我的每一个帮助!
【问题讨论】:
-
这是一个非常容易出错的批处理文件,不是吗?我指的不是代码本身,而是任务的目标——它可能会出错。
-
是的,但我必须将它用于一些非常具体的词,这是不可能删除错误的密钥(从旧设置创建的注册表密钥现在会出现问题,否则我必须搜索 32 位哈希在注册表中手动编码)
标签: windows batch-file cmd regedit