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

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

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

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

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

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

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

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中.

本文来自:博客园

感谢作者:liwp_Stephen

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。