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

liwp_Stephen · · 4718 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

今天早上想把文件传到网盘里,而且还想修改把文件名改成文件名的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语言实现的批量重命名文件工具

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4718 次点击  
加入收藏 微博
上一篇:go 安装下载
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传