【发布时间】:2016-03-05 06:26:57
【问题描述】:
我想将此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 脚本?
【问题讨论】:
-
将代码放入.bat文件中,将bat文件和参数标识符放入reg键中。
-
@Alex:应该可以通过在命令行的其余部分调用
cmd /c来实现。 -
@Joey 使用
@="cmd /c for /f \"usebackq delims=\" %%d in (`\"dir %1 /ad/b/s | sort /R\"`) do rd \"%%d\""我设法删除了某些位置的空文件夹,但不是所有位置,您能详细说明一下吗? -
@Joey 看起来您还必须将参数
%1括在双引号中,即\"%1\"。
标签: windows contextmenu directory