我有一个循环,基本上是通过foldername递归删除文件夹:
for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" 这很好用,如果我在cmder中单独运行它,它将从当前的set目录循环,然后删除找到的任何实例。
我想既然它是一个一行,我就可以很容易地将它作为别名添加到cmder中,方法是:
cnode=for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" cnode == (清理节点),这是很容易记住的东西,但是当我运行这个命令时,它实际上并没有做任何事情。
有什么想法吗?
发布于 2016-07-27 08:52:19
find ./node_modules -name 'foo' -type d -exec rm -rf {} \;
或者在node_modules中找到任何名为'foo‘的目录并在其上运行rm -rf
它也可以使用通配符:
find ./node_modules -name 'foo*' -type d -exec rm -rf {} \;
如果你想让它成为一个别名,你必须把它变成一个函数。创建一个文件aliases,并将其创建为:
#!/bin/bash function remove_dir () { find ./node_modules -name "'$1*'" -type d -exec rm -rf {} \; }
其他人说,你在windows上做批处理,如果你能使用bash,我已经给你了
https://stackoverflow.com/questions/38601051
复制相似问题