首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >现有循环的Cmder别名

现有循环的Cmder别名
EN

Stack Overflow用户
提问于 2016-07-27 06:45:11
回答 1查看 274关注 0票数 0

我有一个循环,基本上是通过foldername递归删除文件夹:

代码语言:javascript
运行
复制
for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" 

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

我想既然它是一个一行,我就可以很容易地将它作为别名添加到cmder中,方法是:

代码语言:javascript
运行
复制
cnode=for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" 

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

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38601051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档