我想添加上下文菜单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脚本?
答案 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"