为什么此批处理脚本中的 REG DELETE 命令失败



所以我找到了一个脚本将Sublime Text添加到资源管理器的上下文菜单中,但我不再需要此功能。我在将其添加到注册表时使用了批处理脚本,现在当我尝试使用相同的脚本时,REG ADD被替换为 REG DELETE ,出现语法错误。

这是脚本;如何更正此问题?

@echo off
SET st2Path=C:Program FilesSublime Text 2sublime_text.exe
rem add it for all file types
@reg delete "HKEY_CLASSES_ROOT*shellOpen with Sublime Text 2"         /t REG_SZ /v "" /d "Open with Sublime Text 2"   /f
@reg delete "HKEY_CLASSES_ROOT*shellOpen with Sublime Text 2"         /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f
@reg delete "HKEY_CLASSES_ROOT*shellOpen with Sublime Text 2command" /t REG_SZ /v "" /d "%st2Path% "%%1"" /f
rem add it for folders
@reg delete "HKEY_CLASSES_ROOTFoldershellOpen with Sublime Text 2"         /t REG_SZ /v "" /d "Open with Sublime Text 2"   /f
@reg delete "HKEY_CLASSES_ROOTFoldershellOpen with Sublime Text 2"         /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f
@reg delete "HKEY_CLASSES_ROOTFoldershellOpen with Sublime Text 2command" /t REG_SZ /v "" /d "%st2Path% "%%1"" /f
pause

创建新注册表项时,/t/d 选项分别指定值的类型以及值中的数据。 它们对REG DELETE无效。

REG DELETE的有效操作(与你尝试执行的操作相关)是:

1. 删除整个注册表项:

REG DELETE HKLMSubKeyHere 

2. 删除注册表项中的特定值:

REG DELETE HKLMSubKeyHere /v ValueName

最新更新