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

说明

项目简介

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

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

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

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

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

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

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

实际应用

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

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

plaintext 复制代码
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

plaintext 复制代码
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为非空文件结果

plaintext 复制代码
C:\Users\sywq6\Downloads\test\NewFile.txt

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

plaintext 复制代码
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为对比结果

plaintext 复制代码
Added files:
NewFile.txt

Removed files:
vtk-6.1.0-vc14-64\lib\vtk.jar
相关推荐
Pocker_Spades_A7 分钟前
丹摩 | 重返丹摩(上)
开源软件
前端与小赵3 小时前
什么是Sass,有什么特点
前端·rust·sass
一个小坑货4 小时前
Rust基础
开发语言·后端·rust
Object~4 小时前
【第九课】Rust中泛型和特质
开发语言·后端·rust
码农飞飞7 小时前
详解Rust结构体struct用法
开发语言·数据结构·后端·rust·成员函数·方法·结构体
耶和博16 小时前
你的文字其实可以轻松遍布全球
效率工具·浏览器插件·文章同步·内容分发
Dontla1 天前
Rust derive macro(Rust #[derive])Rust派生宏
开发语言·后端·rust
fqbqrr1 天前
2411rust,编译时自动检查配置
rust
梦想画家1 天前
用Rust中byteorder包高效处理字节序列
rust·序列化·byteorder·文件编码
beifengtz2 天前
【Rust调用Windows API】读取系统CPU利用率
windows·rust·windows api