2作者: timfinnigan3 个月前原帖
写这个脚本是为了整理我的下载文件夹。它会将顶层文件移动到以其扩展名命名的子文件夹中。例如,photo.PNG 会被移动到 png/ 文件夹中,没有扩展名的文件则会被移动到 no_extension/ 文件夹中。如果你想先查看它的操作,可以使用 --dry-run 参数。 一些细节:它不会递归进入已有的子文件夹,扩展名会被转换为小写,以避免出现 png/ 和 PNG/ 共存的情况,并且在处理文件名冲突时,会通过添加 _1、_2 等后缀来避免覆盖。 这个脚本大约有 150 行 Rust 代码,除了 tempfile 这个开发依赖外,没有其他依赖。 你可以通过以下命令安装: ``` cargo install --git https://github.com/timfinnigan/groupr ``` 然后运行: ``` groupr ~/Downloads --dry-run ```