快捷指令Shortcuts的递归运用--删除文件

  Minja的快捷指令教程说过,快捷指令不流行,大概是因为实际运用场景很少。(我记得是这样,如果不是,请指正😄)

那么我把递归用到了删除文件上面。

我有一个工作文件夹,里面有几百个文件,并且不断更新。并且同一个文件,会有不同的草稿件和修改件,文件名比如20240502-BL-ABC,所以的草稿件和最终修改件只是在不同的时间,文件名不同,比如20240606-BL-ABC,所以我的这个文件夹,最后会有不断多的没用的草稿件。

所以这个时候,我通过过滤文件ABC,找到所有的ABC的文件,根据最后的时间(最终件),之前早的时候,都是草稿件。然后删除所有的草稿件。

问题在于你使用过滤的时候,是把整个文件夹的所有文件进行过滤和重复,那么比如你已经删除了20240502,那么当重复到20240502这个文件的时候,会提示文件不存在。这样你的快捷指令就失效了。

所以我在后面加入了递归,又是重新提取已经删除后的更新的文件夹进行重复,所以就可以把所有的草稿件删除。

1 个赞

非常好的思路,活用了递归模式。
不过就该情况而言,还有一种更快的方法:按时间排序后获取第二项到最后一项——或第一项到倒数第二项,视排序方式而定——然后删除,留下最新的。

问题是,我有很多其他文件时间是一样的,比如20240404-BL-ABC, 20240404-BL-LKJ等等

如果按照时间排序,删除第二到后面,可能会把其他文件删除. :sweat_smile:

那还是递归更合适,就像全自动步枪和半自动步枪的区别,哈哈。