用go语言删除重复文件

用go语言删除重复文件

文章目录

  • 用go语言删除重复文件
    • 需求:将同级别目录(只有一层的目录,没子目录)下的重复文件删除
    • 打包成exe文件
    • 使用

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

package mainimport ("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放到想要删掉重复文件的目录下,双击运行就会删掉重复的文件了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

H5嵌入小程序适配方案

时间过去了两个多月,2024已经到来,又老了一岁。头发也掉了好多。在这两个月时间里都忙着写页面,感觉时间过去得很快。没有以前那么轻松了。也不是遇到了什么难点技术,而是接手了一个很烂得项目。能有多烂,一个页面发起…

Sim ROS2

ROS2_Galactic Ubuntu (Debian) — ROS 2 Documentation: Galactic documentation VMware界面大小调整两种方法超详细教程_vmware怎么调整虚拟机界面大小-CSDN博客 orca4 simulator https://github.com/clydemcqueen/orca4 Docker 【 全干货 】5 分钟带你看懂 Docker &#…

开源无代码应用程序生成器Saltcorn

什么是 Saltcorn ? Saltcorn 是一个无需编写任何代码即可构建数据库 Web 应用程序的平台。它配备了一个吸睛的仪表板,丰富的生态系统、视图生成器以及支持主题的界面,使用直观的点击、拖放用户界面来构建整个应用程序。 软件的特点&#xff1…

100213. 按距离统计房屋对数目 II

100213. 按距离统计房屋对数目 II - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> dif;void add(int l, int r, int d) {if (l > r) return;dif[l] d;dif[r 1] - d;return;}vector<long long> countOfPairs(int n, int x, in…

智慧文旅运营综合平台:重塑文化旅游产业的新引擎

目录 一、建设意义 二、包含内容 三、功能架构 四、典型案例 五、智慧文旅全套解决方案 - 210份下载 在数字化浪潮席卷全球的今天&#xff0c;智慧文旅运营综合平台作为文化旅游产业与信息技术深度融合的产物&#xff0c;正逐渐显现出其强大的生命力和广阔的发展前景。 该…

iOS长图生成的pdf性能优化记录

背景 某日产品拿来了一个由30多页高清长图生成的pdf&#xff0c;在应用中运行出现了崩溃。 排查 经过调试发现加载长图生成的pdf时&#xff0c;运行内存会出现缓慢增长&#xff0c;直至崩溃。经过代码定位发现时pdf转成image对象的过程中由于是长图生成的pdf&#xff0c;这一页…

海外抖音TikTok、正在内测 AI 生成歌曲功能,依靠大语言模型 Bloom 进行文本生成歌曲

近日&#xff0c;据外媒The Verge报道&#xff0c;TikTok正在测试一项新功能&#xff0c;利用大语言模型Bloom的AI能力&#xff0c;允许用户上传歌词文本&#xff0c;并使用AI为其添加声音。这一创新旨在为用户提供更多创作音乐的工具和选项。 Bloom 是由AI初创公司Hugging Fac…

使用torch求函数参数

一、先了解一下深度学习是如何优化参数的 import torch import mathclass Polynomial3(torch.nn.Module):def __init__(self):super().__init__()self.a torch.nn.Parameter(torch.randn(()))self.b torch.nn.Parameter(torch.randn(()))self.c torch.nn.Parameter(torch.r…

C语言——内存函数介绍和模拟实现(memcpy、memmove、memset、memcmp)

之前我们讲过一些字符串函数&#xff08;http://t.csdnimg.cn/ZcvCo&#xff09;&#xff0c;今天我们来讲一讲几个内存函数&#xff0c;那么可能有人要问了&#xff0c;都有字符串函数了&#xff0c;怎么又来个内存函数&#xff0c;这不是一样的么&#xff1f; 我们要知道之前…

第十二站(20天):C++泛型编程

模板 C提供了模板(template)编程的概念。所谓模板&#xff0c;实际上是建立一个通用函数或类&#xff0c; 其 类内部的类型和函数的形参类型不具体指定 &#xff0c;用一个虚拟的类型来代表。这种通用的方式称 为模板。 模板是泛型编程的基础, 泛型编程即以一种独立于任何特定…

Java快速转Go入门案例

Golang语言在2009年诞生于谷歌&#xff0c;相较而言是一门年轻的语言。面对C等老牌语言众多繁重的特性&#xff0c;几名谷歌员工希望能够甩开历史包袱设计一门更加简洁的编程语言&#xff0c;避免过度的设计&#xff0c;通过较少的特性组合连接就可实现复杂的功能。体现“少即是…

C++面试:跳表

目录 跳表介绍 跳表的特点&#xff1a; 跳表的应用场景&#xff1a; C 代码示例&#xff1a; 跳表的特性 跳表示例 总结 跳表&#xff08;Skip List&#xff09;是一种支持快速搜索、插入和删除的数据结构&#xff0c;具有相对简单的实现和较高的查询性能。下面是跳表…

巨变!如何理解中国发起的“数据要素X”计划?

作者 张群&#xff08;赛联区块链教育首席讲师&#xff0c;工信部赛迪特聘资深专家&#xff0c;CSDN认证业界专家&#xff0c;微软认证专家&#xff0c;多家企业区块链产品顾问&#xff09;关注张群&#xff0c;为您提供一站式区块链技术和方案咨询。 刘烈宏在第25届北大光华新…

自定义shell工具函数之echo_red()和prepare_check_required_pkg()

两个 bash 函数&#xff0c;echo_red 和 prepare_check_required_pkg&#xff0c;它们在 shell 脚本中使用。下面是每个函数的解释&#xff1a; echo_red 函数 function echo_red() {echo -e "\033[1;31m$1\033[0m" }这个函数的目的是输出红色的文本到终端。它接受…

职业规划,软件开发工程师的岗位任职资格

软件工程师是指从事软件开发的人&#xff0c;主要的工作涉及到项目培训和项目设计两个方面。在实际工作中&#xff0c;软件工程师是一个广义的概念&#xff0c;包括了很多与软件相关的人员。除开最基础的编程语言&#xff0c;还有数据库语言等等。从事这份工作&#xff0c;需要…

记录一下uniapp 集成腾讯im特别卡(已解决)

uniapp的项目运行在微信小程序 , 安卓 , ios手机三端 , 之前这个项目集成过im,不过版本太老了,0.x的版本, 现在需要添加客服功能,所以就升级了 由于是二开 , 也为了方便 , 沿用之前的webview嵌套腾讯IM的方案 , 选用uniapp集成ui ,升级之后所有安卓用户反馈点击进去特别卡,几…

【cucumber】学习跟踪

本文章主要跟踪cucumber自动化测试的学习进度&#xff0c;并且统计文章目录&#xff1a; 【cucumber】cluecumber-report-plugin生成测试报告-CSDN博客

openssl3.2 - 官方demo学习 - test - certs - 001 - Primary root: root-cert

文章目录 openssl3.2 - 官方demo学习 - test - certs - 001 - Primary root: root-cert概述笔记官方原版.sh实验自己来分3步走做实验my_openssl_log_001_doc_1.txtmy_openssl_log_001_doc_2.txtmy_openssl_log_001_doc_3.txt备注END openssl3.2 - 官方demo学习 - test - certs …

Java设计模式之观察者模式详解

Java设计模式之观察者模式详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将一同深入探讨Java设计模式之观察者模式&#xff0c;这是一种代…

HR人才测评,如何做技术研发人员基本素质测评?

技术研发人员的基本素质测评&#xff0c;可以从以下几个方面考虑&#xff1a; 1. 技术能力&#xff1a;首要的因素是技术能力&#xff0c;包括编程能力、算法能力、架构设计能力、代码调试和优化能力等。在测评中可以通过技术测试、编程练习、项目经验等方式来考察。 2. 学习…