将“删除空文件夹”添加到Windows上下文菜单

时间:2015-12-01 10:52:34

标签: 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"

但是这个不起作用。如何正确运行一个衬管shell脚本?

2 个答案:

答案 0 :(得分:6)

感谢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文件并提供所有必需的确认。

现在,您在上下文菜单中有一个方便的Delete empty folders命令,当您右键单击目录时会弹出。这适用于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\""

我实际上不知道这个版本是否更强大,我只是在这里报告Enora为她的案例找到的solution

答案 1 :(得分:-2)

E ia ora na tatou

这是另一种方式:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\MenuDelZem]
"MUIVerb"="Supprimer les dossiers vides"
"Icon"="imageres.dll,-89"
"ExtendedSubCommandsKey"="Directory\\ContextMenus\\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\background\shell\MenuDelZem]
"MUIVerb"="Supprimer les dossiers vides"
"Icon"="imageres.dll,-89"
"ExtendedSubCommandsKey"="Directory\\ContextMenus\\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuCmd\shell\open]
"MUIVerb"="Supprimez-les "
"Icon"="imageres.dll,-89"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuCmd\shell\open\command]
@="cmd /c ROBOCOPY . .  /S /MOVE"