0

我有一个循环,基本上按文件夹名称递归删除文件夹:

for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" 

这很好用,如果我在cmder中自行运行它,它将从当前设置目录循环,然后删除它找到的任何实例。

我想看到它是一个衬里,我可以通过执行以下操作轻松地将其添加为 cmder 的别名:

cnode=for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" 

cnode == (干净的节点),这很容易记住,但是当我运行命令时,它实际上并没有做任何事情。

有任何想法吗?

4

1 回答 1

2

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,我已经给你了

于 2016-07-27T00:52:18.743 回答