用go语言删除重复文件

用go语言删除重复文件

需求:将同级别目录(只有一层的目录,没子目录)下的重复文件删除

package main

import (
	"crypto/sha256"
	"fmt"
	"io/ioutil"
	"os"
)

func main() {
   
	files := make(map[string]string)
	duplicates := make(map[string]bool)

	// 获取当前目录下的所有文件
	fileList, err := ioutil.ReadDir(".")
	if err != nil {
   
		fmt.Println("读取目录时出错:", err)
		return
	}

	// 遍历所有文件
	for _, file := range fileList {
   
		if !file.IsDir() {
   
			filePath := file.Name()
			content, err := ioutil.ReadFile(filePath)
			if err != nil {
   
				fmt.Println("读取文件时出错:", err)
				continue
			}
			hash := sha256.Sum256(content)
			hashString := fmt.Sprintf("%x", hash)

			// 检查是否有重复文件
			if existingFile, ok := files[hashString]; ok {
   
				fmt.Printf("发现重复文件: %s 和 %s\n", filePath, existingFile)
				duplicates[filePath] = true
			} else {
   
				files[hashString] = filePath
			}
		}
	}

	// 删除重复文件
	for file := range duplicates {
   
		err := os.Remove(file)
		if err != nil {
   
			fmt.Println("删除文件时出错:", err)
		} else {
   
			fmt.Println("已删除重复文件:", file)
		}
	}
}

打包成exe文件

go build -o 删除重复文件.exe main.go

使用

只需将删除重复文件.exe放到想要删掉重复文件的目录下,双击运行就会删掉重复的文件了。

相关推荐

  1. go语言删除重复文件

    2024-01-22 13:34:01       36 阅读
  2. centos 找到并删除重复文件 去重

    2024-01-22 13:34:01       13 阅读
  3. go语言】读取toml文件

    2024-01-22 13:34:01       39 阅读
  4. 删除文件中的注释(C语言

    2024-01-22 13:34:01       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-22 13:34:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-22 13:34:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-22 13:34:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-22 13:34:01       20 阅读

热门阅读

  1. Vue.js:构建用户界面的渐进式框架

    2024-01-22 13:34:01       27 阅读
  2. 华为网络设备常用命令大全

    2024-01-22 13:34:01       44 阅读
  3. Vue 批量注册全局组件

    2024-01-22 13:34:01       34 阅读
  4. props传值

    2024-01-22 13:34:01       37 阅读
  5. Spring与Spring Boot:区别与Spring Boot的实战示例

    2024-01-22 13:34:01       29 阅读
  6. MySQL的MVCC

    2024-01-22 13:34:01       25 阅读
  7. unity3d在汽车领域的未来发展趋势浅谈

    2024-01-22 13:34:01       26 阅读
  8. Spring data都包含哪些内容

    2024-01-22 13:34:01       27 阅读