windows - 将 'Delete empty folders' 添加到 Windows 上下文菜单

标签 windows contextmenu directory

我想将此 nice shell script 添加到上下文菜单中自动删除运行它的文件夹下的所有空文件夹和子文件夹:

for /f "usebackq delims=" %%d in (`"dir /ad/b/s | sort /R"`) do rd "%%d"

要将这样的项目添加到(目录)上下文菜单,我应该运行一个带有 reg 扩展名的文件,其内容类似于

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Delete empty folders]

[HKEY_CLASSES_ROOT\Directory\shell\Delete empty folders\Command]
@=for /f "usebackq delims=" %%d in (`"dir %1 /ad/b/s | sort /R"`) do rd "%%d"

但是这个不行。应该如何修复才能正确运行 one liner shell 脚本?

最佳答案

感谢 Joey 的评论,我找到了以下解决方案。

第 1 步:创建一个带有 reg 扩展名的文件(例如 add_delete_empty_folders_to_context_menu.reg)并将以下行放入其中:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Delete empty folders]

[HKEY_CLASSES_ROOT\Directory\shell\Delete empty folders\Command]
@="cmd /c for /f \"usebackq delims=\" %%d in (`\"dir \"%1\" /ad/b/s | sort /R\"`) do rd \"%%d\""

第 2 步:双击您的 reg 文件并提供所有需要的确认信息。

现在您的上下文菜单中有一个方便的删除空文件夹命令,当您右键单击一个目录时弹出。这适用于 Windows 7 和 Windows 10。

避免滥用此功能,某些软件需要其空文件夹才能正常工作。

跟进

如果您遇到问题(如 Enora,见下文),您可以尝试在 reg 文件中使用以下行来代替原来的行:

@="cmd.exe /K for /f \"usebackq delims=\" %%d in (`\"dir \"%V\" /ad/b/s | sort /R\"`) do rd \"%%~d\""

我其实不知道这个版本是否更健壮,我只是在这里报告solution Enora 为她的案子找到的。

关于windows - 将 'Delete empty folders' 添加到 Windows 上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34018590/

相关文章:

android - 无法从目录中读取文件 - android

ios - 如何在应用程序文件夹中创建文件夹

c++ - 如何同时启用两个ffplay窗口的音频?(如何同时听到视频文件的音频?)

java - 从一个 jar 文件访问另一个 jar 文件时出现问题

wpf - 命令绑定(bind)到 ContextMenu(在 ListBox 中的 ListBoxItem 上)不起作用

javascript - 带有 Bootstrap 下拉菜单的上下文菜单在 Firefox 中不起作用

windows - 所有版本的 Windows 上的 Win32 透明控件

html - Mac 与 Windows 的 CSS 问题

windows - 用于显示 Windows 资源管理器上下文菜单的 Eclipse 插件

java - 从同一文件夹中的 JAR 访问文件