当前位置: 首页 > news >正文

【开源项目】Rust开发复制文件夹目录结构工具

说明

  • 由于我经常需要在多个大容量的移动硬盘中查找和新增文件,我希望把硬盘的目录结构放到服务器的自建网盘中,因此开发了这个工具,使得在不同硬盘之间的文件管理变得更加便捷

  • 项目地址:https://github.com/VinciYan/folder_cloner.git

  • Rust语言开发,编译EXE文件体积小,只有747KB(链接:https://pan.baidu.com/s/1jT6W74d2lbAdToa0QjmnZw?pwd=fp4q 提取码:fp4q )

项目简介

这个项目通过复制文件目录结构、查找非空文件和对比目录结构差异,为用户提供了一个高效、便捷的文件管理工具,适用于数据迁移、远程查询和版本控制等多种场景

  • 快速定位:通过复制目录结构和识别非空文件,用户可以快速定位到所需文件的位置,减少寻找文件的时间,提高工作效率。可以使用Everything等工具快速查找文件,提高效率和管理便捷性

  • 节省存储空间:由于仅复制目录结构而不是实际文件内容,可以在不占用大量存储空间的情况下,轻松管理和查看大容量硬盘上的文件目录。源文件可以存放在服务器、NAS、网盘或大容量硬盘等设备中

  • 远程存储查询:通过将目录结构存储在便携设备中,比如U盘等,可以随时随地查询远程服务器或大容量硬盘上的文件情况,方便进行远程管理和操作

  • 新增文件同步:当在复制的文件夹中添加新的非空文件时,可以扫描复制的文件夹,找出这些非空文件,从而将其同步复制到源文件夹中,确保数据一致性

  • 变更文件识别:在复制文件夹中删除或添加文件后,可以扫描出新增和删除的文件路径,便于识别和管理目录结构的变化。这样可以有效地同步和备份目录,确保文件的完整性和一致性

  • 版本控制:通过定期对比源文件夹和复制文件夹的结构差异,可以有效地进行版本控制,跟踪文件的新增和删除情况

实际应用

使用OpenCASCADE源码的文件夹OpenCASCADE-7.7.0-vc14-64用来测试

复制文件夹中创建104529个文件耗时47.35s

folder_cloner-v0.1.0-x86_64-pc-windows-msvc.exe --src-folder=D:\OpenCASCADE-7.7.0-vc14-64 --dst-folder=C:\Users\sywq6\Downloads\test
Number of files: 104529
Number of directories: 2203
Elapsed time: 47.35s

在复制文件夹中新增一个非空文件,104530个文件中扫描非空文件,耗时6.74s

Number of non-empty files: 1
Non-empty files list written to: C:\Users\sywq6\Downloads\non_empty_files.txt
Time taken to write non-empty files to txt: 6.74s

non_empty_files.txt为非空文件结果

C:\Users\sywq6\Downloads\test\NewFile.txt

在复制文件夹中新增一个文件,并且删除文件“test\vtk-6.1.0-vc14-64\lib\vtk.jar”,对比源文件夹和复制文件夹,耗时738.83ms

Number of added files: 1
Number of removed files: 1
Differences written to: C:\Users\sywq6\Downloads\directory_differences.txt
Time taken to compare folders: 735.96ms

directory_differences.txt为对比结果

Added files:
NewFile.txtRemoved files:
vtk-6.1.0-vc14-64\lib\vtk.jar

相关文章:

【开源项目】Rust开发复制文件夹目录结构工具

说明 由于我经常需要在多个大容量的移动硬盘中查找和新增文件,我希望把硬盘的目录结构放到服务器的自建网盘中,因此开发了这个工具,使得在不同硬盘之间的文件管理变得更加便捷 项目地址:https://github.com/VinciYan/folder_clon…...

PostgreSQL的pg_dirtyread工具

PostgreSQL的pg_dirtyread工具 pg_dirtyread 是一个第三方PostgreSQL扩展,它允许用户读取数据库文件中的“脏”数据,即那些被标记为删除或不再可见的数据。这个扩展对于数据恢复和调试非常有用,尤其是在需要恢复被删除或更新前的数据时。 以…...

苹果梦碎:Vision Pro的辉煌与失落,苹果已决定暂停 Vision Pro 后续产品的研发工作

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 苹果Vision Pro:科技巨头的跌宕起伏 在科技的海洋中,苹果公司一直以其创新精神和卓越品质引领潮流。然而,即…...

推荐一款uniapp拖动验证码插件

插件地址:易盾验证码 - DCloud 插件市场 具体使用方式访问插件地址自行获取...

十年期国债收益率

十年期国债收益率是指政府发行的、期限为十年的国债的年化收益率。它被广泛视为一个国家经济健康状况和未来经济前景的重要指标,同时也是金融市场中的一个重要基准利率。 下面我将详细解释十年期国债收益率的相关内容及其意义。 十年期国债收益率的意义 经济健康的…...

使用Go编写的持续下行测速脚本,快速消耗流量且不伤硬盘

GoSpeed 声明 此工具仅用于测试与学习,请勿用于非法用途,如使用此程序请确保所有下载的内容都拥有合法的使用权或分发权,避免侵犯版权、恶意访问 此工具仅用于测试与学习,请勿用于非法用途,如使用此程序请确保所有下载的内容都拥有合法的使用权或分发权&#xff0c…...

保护国外使用代理IP的安全方法

为了保护在国外使用代理IP的安全,用户可以采取以下方法: 1. 选择可信的代理服务器 在选择代理服务器时,用户应该选择那些经过验证和信任的服务器,如知名的VPN服务提供商。这些服务器通常具有更高的安全性和隐私保护措施。 2. 使用…...

18集 学习ESP32的ESP-DL深度学习教程-《MCU嵌入式AI开发笔记》

18集 学习ESP32的ESP-DL深度学习教程-《MCU嵌入式AI开发笔记》 参考文档:https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html 使用TVM自动生成模型部署项目 本案例介绍了使用 TVM 部署模型的完整流程。 该项目基于 TVM v0.14…...

jmeter-beanshell学习9-放弃beanshell

写这篇时候道心不稳了,前面写了好几篇benashell元件,突然发现应该放弃。想回去改前面的文章,看了看无从下手,反正已经这样了,我淋了雨,那就希望别人也没有伞吧,哈哈哈哈,放在第九篇送…...

Web 性能入门指南-1.5 创建 Web 性能优化文化的最佳实践

最成功的网站都有什么共同点?那就是他们都有很强的网站性能和可用性文化。以下是一些经过验证的有效技巧和最佳实践,可帮助您建立健康、快乐、值得庆祝的性能文化。 创建强大的性能优化文化意味着在你的公司或团队中创建一个如下所示的反馈循环&#xff…...

【Android】Service介绍和生命周期

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 介绍 Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不…...

[论文笔记]RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL

引言 今天带来又一篇RAG论文笔记:RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL。 检索增强语言模型能够更好地适应世界状态的变化并融入长尾知识。然而,大多数现有方法只能从检索语料库中检索到短的连续文本片段&#xff0…...

python 端口的转发

实现端口的转发 tcpsocket.py 对基础的socket进行了封装 import socketclass baseSocket:def service(host:str,port:int,maxSuspend:int)->socket: service_socket socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 创建 socket 对象service_socket.setso…...

opencv 中如何通过欧式距离估算实际距离(厘米)

1:这个方法个人测试觉得是正确的,误差较小,目前满足我当前的需求,如果方法不对,请大家评论,完善。 2:确保拍摄的参照物是垂直的,如果不垂直,就会有误差,不垂…...

Flask+Layui开发案例教程

基于 Python 语言的敏捷开发框架_DjangoAdmin敏捷开发框架FlaskLayui版本_开发文档 软件产品基于 Python 语言,采用 Flask2.x、Layui、MySQL 等技术栈精心打造的一款集模块化、高性能、组件化于一体的企业级敏捷开发框架,本着简化开发、提升开发效率的初…...

复现ORB3-YOLO8项目记录

文章目录 1.编译错误1.1 错误11.2 错误21.3 错误31.4 错误4 1.编译错误 首先ORB-SLAM相关项目已经写过很多篇博客了,从ORB-SLAM2怎么运行,再到现在的项目。关于环境已经不想多说了 1.1 错误1 – DEPENDENCY_LIBS : /home/lvslam/ORB3-YOLO8/Thirdparty…...

【jvm】字符串常量池问题

目录 一、基本概念1.1 说明1.2 特点 二、存放位置2.1 JDK1.6及以前2.2 JDK1.72.3 JDK1.8及以后 三、工作原理3.1 创建字符串常量3.2 使用new关键字创建字符串 四、intern()方法4.1 作用 五、优点六、字节码分析6.1 示例16.1.1 代码示例6.1.2 字节码6.1.3 解析 6.2 示例26.2.1 代…...

STM32学习和实践笔记(39):I2C EEPROM实验

1.I2C总线介绍 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。 它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I…...

【Js】导出 HTML 为 Word 文档

在 Web 开发中,有时我们希望用户能够将网页上的 HTML 内容保存为 Word 文档,以便更方便地分享和打印。 html样式 word文档 工具准备 1、 html-docx-js - npm html-docx-js是一个 JavaScript 库,用于将 HTML 内容转换为 Word 文档的格式。它…...

c++入门基础篇(上)

目录 前言: 1.c++的第一个程序 2.命名空间 2.1 namespace的定义 2.2 命名空间使用 3.c++输入&输出 4.缺省参数 5.函数重载 前言: 我们在之前学完了c语言的大部分语法知识,是不是意…...

[开源] 病历自举报系统:面向临床质控的电子病历智能预审工具,用大模型扮演质疑者角色发现逻辑矛盾与缺项问题

本项目是一个专为中文电子病历(EMR)设计的轻量级质控辅助工具,核心目标是让医生在提交病历前,就能快速识别出文本中潜藏的逻辑矛盾、信息缺项、时间线错乱、数值异常和主观夸大等典型质量问题。我们不替代人工质控,也不…...

蛋白质设计新范式:QUBO建模与迭代学习框架解析

1. 项目概述与核心思路在生物信息学和计算生物学领域,蛋白质设计一直是一个“圣杯”级别的挑战。简单来说,它要回答一个逆向问题:给定一个我们想要的蛋白质三维结构,如何从头设计出能折叠成这个结构的氨基酸序列?传统方…...

AWVS 25.5 Windows版深度部署指南:CVE精准验证与DevSecOps集成

1. 这不是普通安装教程:AWVS 25.5 Windows版的真实价值在哪?很多人搜“AWVS安装教程”,点进来第一反应是“又要填注册码、改hosts、下破解补丁?”——这种认知已经严重落后于2025年的真实技术现场。我用AWVS 25.5在三个不同行业的…...

【稻米计数】基于matlab形态学稻米计数【含Matlab源码 15562期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞&#x1f49…...

3分钟快速上手:BOTW存档编辑器完全指南,轻松修改《塞尔达传说:旷野之息》

3分钟快速上手:BOTW存档编辑器完全指南,轻松修改《塞尔达传说:旷野之息》 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想要在…...

3分钟搞定GitHub中文界面:终极汉化插件使用指南

3分钟搞定GitHub中文界面:终极汉化插件使用指南 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 你是否曾经因为GitHub的英…...

Gofile极速下载器:3倍下载速度的完整指南

Gofile极速下载器:3倍下载速度的完整指南 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 在数字时代,文件分享已成为日常工作的一部分,但…...

3分钟为Blender相机添加真实抖动:Camera Shakify新手完全指南

3分钟为Blender相机添加真实抖动:Camera Shakify新手完全指南 【免费下载链接】camera_shakify 项目地址: https://gitcode.com/gh_mirrors/ca/camera_shakify 想让你的Blender动画瞬间拥有电影级的真实感吗?Camera Shakify这款神奇的插件就是你…...

实测Taotoken聚合接口在高峰时段的延迟与稳定性表现

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测Taotoken聚合接口在高峰时段的延迟与稳定性表现 作为开发者,在将大模型能力集成到生产环境时,服务的稳…...

终极跨平台游戏资源管理器:VPKEdit完全指南

终极跨平台游戏资源管理器:VPKEdit完全指南 【免费下载链接】VPKEdit A CLI/GUI tool to create, read, and write several pack file formats. 项目地址: https://gitcode.com/gh_mirrors/vp/VPKEdit 你是否曾经为处理Source引擎游戏资源而烦恼?…...