用Go语言实现的批量重命名文件工具

今天早上想把文件传到网盘里,而且还想修改把文件名改成文件名的md5,一个一个修改比较麻烦。

最近一直在研究Go语言,该语言比较简洁,可以编译成可执行程序,所以就用Go语言写了一个小工具叫md5ren。

实现的功能是在要修改的文件夹中执行命令md5ren,达到的目标是将该文件夹下所有的文件以及文件夹都修改成原始名称的md5值,如果是文件,则保留原文件的后缀。

使用到的Go语言的功能有:

  • 列出一个文件夹下的所有文件
  • 判断文件类型,是文件还是文件夹
  • 写文件
  • 生成字符串的MD5值

列出一个文件夹下的所有文件

1
files, err := ioutil.ReadDir(dir)

判断文件类型

通过ioutil.ReadDir返回的结果为FileInfo类型的数据,FileInfo有IsDir方法,可以判断是否文件夹。

写文件

写文件可以使用ioutil.WriteFile来实现,代码如下:

ioutil.WriteFile(renLogFileName, []byte(renameLog), 0666)

计算字符串的MD5值

1 func GetMD5Hash(text string) string {
2     hasher := md5.New()
3     hasher.Write([]byte(text))
4     return hex.EncodeToString(hasher.Sum(nil))
5 }

完整代码在github中.

posted on   liwp_Stephen  阅读(1141)  评论(0编辑  收藏  举报

编辑推荐:
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
阅读排行:
· 2025成都.NET开发者Connect圆满结束
· 后端思维之高并发处理方案
· 千万级大表的优化技巧
· 在 VS Code 中,一键安装 MCP Server!
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析

导航

< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示