f2

TL;DR

f2是一个用Go编写的跨平台批量重命名工具,设计精良,功能强大。它支持基本的文件名替换,并能根据EXIF信息(如拍摄日期)或文件哈希值进行高级重命名,方便文件管理和整理。默认情况下,f2会进行“dry run”,只有添加-x参数才会执行实际重命名。安装需要Go 1.24.2+,可以通过go install或npm安装。

Summary

  1. f2简介: f2是一个使用Go语言编写的跨平台命令行工具,用于批量重命名文件和目录。

  2. 设计优秀: 该工具的设计考虑周全,提供了许多高级功能。

  3. 基本用法:
    • 命令格式: f2 -f '.svg' -r '.tmp.svg' path/to/dir
    • 功能描述: 将指定目录中的所有.svg文件重命名为.tmp.svg
    • 默认行为: 默认执行“dry run”,即只显示更改结果,不实际执行重命名。
    • 执行命令: 使用-x--exec参数执行实际的重命名操作。
  4. 高级功能:
    • EXIF集成: 可以根据图片的EXIF信息重命名文件。
      • 命令示例: f2 -r '{x.cdt.YYYY}/{x.cdt.MM}-{x.cdt.MMM}/{x.cdt.YYYY}-{x.cdt.MM}-{x.cdt.DD}/{f}{ext}' -R
      • 功能描述: 将照片按拍摄日期进行递归重命名并整理到相应的目录结构中。
      • -R参数: 表示递归处理。
      • 变量语法: {x.cdt.YYYY}等表示EXIF日期变量。
    • Hash变量: 可以使用文件内容的哈希值作为重命名的依据。
  5. 安装过程:
    • Go版本要求: 需要Go 1.24.2或更高版本。
    • Homebrew安装Go: 可以使用brew upgrade go升级Go。
    • 安装命令: go install github.com/ayoisaiah/f2/v2/cmd/f2@latest
    • 安装位置: 安装后的可执行文件位于~/go/bin/f2
  6. 其他安装方式: 提供了npm包,类似于将二进制工具打包在Python wheel中的模式。