Windows/linux 批量删除不同文件夹下 相同名字的文件(包含子文件)

Windows/linux  批量删除不同文件夹下 相同名字的文件(包含子文件)批量删除有规律的文件

现实中,跑程序会经常产生一些文件,日积月累,这些文件比较多,像日志类的,后处理,数据分析类的

- Linux 系统下

比如

~/aaa/bbb/post/12340.bin

~aaa/ccc/post/12340.bin
~aaa/ccc/post/12350.bin
~aaa/ccc/dddd/12350.bin
~aaa/ccc/dddd/eeeeeeee/ffff/12350.bin

那么日积月累,这些文件占据的空间越来越大,挨个点开每一个文件删除,特别繁杂,尤其是文件成百上千的时候

于是可以这么操作:

find /mnt/d/ -name '*20.bin' -type f -print -exec rm -rf {} \;

解释, 通配符查找该文件 *20.bin 在指定路径下,所有文件名为 *20.bin 的,找出来,并且传递给 rm 命令

多个文件可以多个操作,

由于操作不可逆,通配符最好多加一些限制,使用绝对路径,先小范围测试,再大规模运行

由于操作不可逆,通配符最好多加一些限制,使用绝对路径,先小范围测试,再大规模运行

由于操作不可逆,通配符最好多加一些限制,使用绝对路径,先小范围测试,再大规模运行

比如写成

find /mnt/d/ -name '1[0-9][0-9][0-9]20.bin' -type f -print -exec rm -rf {} \;

或者先备份,这样更靠谱一些

如果不放心,还可以将删除记录存下来 比如添加,以便校验

find /mnt/d/ -name '1[0-9][0-9][0-9]20.bin' -type f -print -exec rm -rf {} \; >log.txt
或者 直接
script -A log.txt
再运行脚本

以上是linux系统的操作方式

- 那么Windwos操作系统呢?

【1】可以用linux子系统,打开linux 子系统程序,比如说ubuntu之类的,找到文件夹,进行操作,一般本地磁盘挂载在 /mnt/ 目录下

【2】可以用 Everything 搜索,高级搜索,官网:https://www.voidtools.com/zh-cn/

 

然后批量选中,删除即可。

 

posted @ 2023-02-23 11:33  千家诗  阅读(2527)  评论(0编辑  收藏  举报