自定义右键单击菜单选项删除文件夹不起作用

自定义右键单击菜单选项删除文件夹不起作用

我使用 Angular,它生成的项目文件夹非常大,使用常规的文件夹删除方法需要很长时间才能删除,但如果在命令行中使用以下命令删除它,则该文件夹会在几秒钟内消失:rmdir /s /q <folder path>

因此,我在互联网上搜索解决方案,发现有几个方法告诉我要修改注册表。我照做了,但当我右键单击文件夹并选择使用自定义菜单选项(“文件夹快速删除”)删除它时,它并没有删除它。此外,如果我右键单击包含文件和子文件夹的文件夹中的空白区域并选择“文件夹快速删除”,它会删除所有子文件夹和一些不在子文件夹中的文件(即当前根文件夹中的文件)。奇怪的是,如果只是右键单击桌面上的空白区域并选择“文件夹快速删除”,它不仅会删除桌面上的所有文件夹,还会删除一些快捷方式。

我的 .reg 文件有什么问题?

reg 文件添加上下文菜单项

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-

[HKEY_CLASSES_ROOT\Directory\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-

[HKEY_CLASSES_ROOT\Directory\Background\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"

[HKEY_CLASSES_ROOT\Drive\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-

[HKEY_CLASSES_ROOT\Drive\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\Delete_Folder]
@="Folder quick delete"
"Extended"=-

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\Delete_Folder\command]
@="C:\\windows\\system32\\cmd.exe /c rmdir /s /q %V"

答案1

首先,对于文件名中有空格的文件夹,您需要在目录参数的路径周围加上引号。要添加它们,请转义引号字符,如下面的 shell 命令所示佩斯多

[HKEY_CLASSES_ROOT*\shell\pestudio\命令]

@="\"C:\program files\pestudio\pestudio.exe\" \"%1\""

第二,参数的标准占位符%1,至少需要一个参数。占位符 %v 用于提供默认参数,工作目录,当没有提供时——有点危险。这可能解释了文件和文件夹的意外删除。最好使用 %1,以便上下文菜单适用于您单击的文件夹。

注意:在注册表中使用反斜杠时要格外小心——太多或太少都可能损坏注册表(从悲惨的经历中吸取的教训)。

答案2

我找到了解决方案。对我有用的是:

@="PowerShell -Command \"Remove-Item -LiteralPath '%1' -Force -Recurse\""

相关内容