#include <iostream>
#include <io.h>
#include <direct.h>
using namespace std;
void listdir(string dir)
{
string newdir = dir + "\\*.*";
intptr_t handle;
struct _finddata_t fileinfo;
handle = _findfirst(newdir.c_str(), &fileinfo);
if (handle == -1)
{
cout << "无文件" << endl;
system("pause");
return ;
}
do
{
if (fileinfo.attrib & _A_SUBDIR) // 如果是文件夹
{
cout << fileinfo.name << endl;
if (strcmp(fileinfo.name, ".") == 0 || strcmp(fileinfo.name, "..") == 0)
{
continue;
}
newdir = dir + "\\" + fileinfo.name;
cout << newdir.c_str() << endl;
listdir(newdir.c_str());
cout << newdir.c_str() << endl;
if (_rmdir(newdir.c_str()) == 0)
{
cout << "删除空文件夹成功" << endl;
}
else
{
cout << "删除空文件夹失败" << endl;
}
}
else
{
cout << fileinfo.name << endl;
char* p = strstr(fileinfo.name, "(1)");
if (p != NULL)
{
string file_path = dir + "\\" + fileinfo.name;
cout << file_path.c_str() << endl;
if (remove(file_path.c_str()) == 0)
{
cout << "删除文件成功" << endl;
}
else
{
cout << "删除文件失败" << endl;
}
}
}
} while (!_findnext(handle, &fileinfo));
_findclose(handle);
return;
}
int main()
{
string dir = "D:\\Mini ROS小车附送资料";
listdir(dir);
system("pause");
return 0;
}
windows文件去重demo,修改文件路径即可使用
需积分: 0 85 浏览量
更新于2023-04-11
收藏 12.31MB ZIP 举报
在Windows操作系统中,文件去重是一项常见的需求,尤其是在处理大量数据、照片库或者音乐收藏时。这个"windows文件去重demo"就是一个实用的工具,它可以帮助用户高效地查找并删除重复的文件,节省磁盘空间。这个软件或插件的设计理念是让用户只需要简单修改配置中的文件路径,就能轻松应用到不同的文件夹进行去重操作。
我们要理解文件去重的基本原理。通常,去重程序会通过比较文件的哈希值来判断两个文件是否相同。哈希值是一种将文件内容转化为固定长度数字串的方法,如果两个文件的哈希值一致,那么它们的内容几乎可以肯定是相同的,因为哈希冲突的概率非常低。这个demo可能就是基于这种机制,通过计算每个文件的MD5或SHA-1等哈希值来识别重复文件。
在使用这个"file_remove_duplicates"程序前,你需要了解以下几点:
1. **文件路径的修改**:打开程序的配置文件(可能是ini、json或其他格式),找到指定文件搜索路径的配置项,将它更改为需要去重的文件夹路径。确保路径是绝对路径,以免出现找不到文件夹的问题。
2. **文件类型选择**:如果你只想针对特定类型的文件进行去重,比如图片或文档,那么可能需要在设置中指定文件扩展名。如果不做限制,程序会检查所有文件。
3. **去重策略**:去重程序通常有两种策略,一种是保留最早创建的文件,另一种是保留最新修改的文件。根据你的需求,选择合适的策略。
4. **预览与确认**:在执行删除操作前,最好提供预览功能,让用户确认哪些文件会被删除,防止误删重要文件。
5. **安全备份**:在进行去重之前,建议对重要文件进行备份,以防万一。
6. **性能优化**:对于大文件夹,去重过程可能会消耗较长时间。为了提高效率,程序可能采用了多线程或异步处理技术,使得在查找和比较文件的同时,不影响系统的正常使用。
7. **结果查看**:去重完成后,应该有清晰的报告,列出被发现的重复文件以及所节省的空间。
8. **隐私保护**:注意,去重工具可能涉及读取所有文件,因此务必确保程序来源可靠,避免隐私泄露。
这个"windows文件去重demo"是一个方便用户管理和优化存储空间的实用工具。正确理解和使用它可以有效地整理电脑中的文件,提升磁盘利用率。在实际操作中,根据自己的具体需求进行定制,以达到最佳效果。同时,保持良好的数据管理习惯,定期清理和备份,是保护数据安全和系统效率的关键。
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
lrzss
- 粉丝: 41
- 资源: 15
最新资源
- 高速道路场景全景分割数据集、约5000张数据和标签
- 龙讯lt6911uxc,lt9611uxc资料,有源码固件,支持4k60,支持对接海思3519a和3559a,hdmi转mipi,双通道4k60
- 一种基于扩展反电动势的永磁同步电机无位置控制算法,全部C语言 编写,含有矢量控制大部分功能(弱磁,解耦,过调制,死区补偿等) 为了方便学习和工作,该产品结合S-Function进行仿真,且属于量产产品
- 源码,打包程序,和测试文档
- IO总结总结总结总结总结
- krc歌词解密站.html
- 龙讯lt6911uxc,lt9611uxc资料,有源码固件,支持4k60,支持对接海思3519a和3559a,hdmi转mipi,双通道4k60
- 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
- 2323232323323232
- Comsol模拟飞秒激光烧蚀双温方程热力耦合模型