当前位置: 首页> 文旅> 旅游 > 营销型网站策划方案_合肥住房和城乡建设局_优化公司哪家好_百度关键词排名提升工具

营销型网站策划方案_合肥住房和城乡建设局_优化公司哪家好_百度关键词排名提升工具

时间:2025/7/10 15:10:06来源:https://blog.csdn.net/m0_71907123/article/details/144376769 浏览次数:0次
营销型网站策划方案_合肥住房和城乡建设局_优化公司哪家好_百度关键词排名提升工具

编译使用g++ demo.cpp -std=c++17   确保使用 C++17 及以上版本进行编译 推荐 9.0 以上版本

首先创建logs总文件夹,例如/home/xs/logs

然后创建当前日期的文件夹,例如/home/xs/logs/2024.12.10

随后把文件放入此日期文件夹中,例如/home/xs/logs/2024.12.10/3d.pcd

最后遍历logs下的所有文件夹,判断文件夹日期和当前系统日期差距是多少天,超过设置时间的文件夹会以递归的形式将内容和文件夹全部删除

#include <iostream>
#include <filesystem>
#include <chrono>
#include <fstream>namespace fs = std::filesystem;// 定义 days 类型以兼容 C++17
using days = std::chrono::duration<int, std::ratio<86400>>;// 判断文件夹是否超过一个月
bool isOlderThanOneMonth(const fs::directory_entry &dirEntry) {// 获取文件的最后写入时间(文件时钟)auto fileTime = dirEntry.last_write_time();// 转换为 system_clock 时间点auto fileTimeAsSystemClock = std::chrono::time_point_cast<std::chrono::system_clock::duration>(fileTime - fs::file_time_type::clock::now() + std::chrono::system_clock::now());// 获取当前时间auto now = std::chrono::system_clock::now();// 计算时间差并判断是否超过 30 天auto age = std::chrono::duration_cast<days>(now - fileTimeAsSystemClock).count();return age > 30;
}// 创建以今日日期命名的文件夹
std::string createTodayFolder(const std::string &baseDir) {auto t = std::time(nullptr);auto tm = *std::localtime(&t);char folderName[100];std::strftime(folderName, sizeof(folderName), "%Y-%m-%d", &tm);std::string todayFolder = baseDir + "/" + folderName;if (!fs::exists(todayFolder)) {fs::create_directory(todayFolder);std::cout << "Created folder: " << todayFolder << std::endl;} else {std::cout << "Folder already exists: " << todayFolder << std::endl;}return todayFolder;
}// 删除超过一个月的文件夹
void cleanupOldFolders(const std::string &baseDir) {for (const auto &entry: fs::directory_iterator(baseDir)) {if (fs::is_directory(entry) && isOlderThanOneMonth(entry)) {fs::remove_all(entry);std::cout << "Deleted old folder: " << entry.path() << std::endl;}}
}int main() {std::string baseDir = "logs";//文件目录// 创建主目录if (!fs::exists(baseDir)) {fs::create_directory(baseDir);}// 创建今日文件夹std::string todayFolder = createTodayFolder(baseDir);// 复制文件到今日文件夹std::string sourceFilePath = "/home/xs/BOX_1.pcd";  //要移动到文件夹里面的而文件std::string destinationFilePath = todayFolder + "/2d.pcd"; //移动到logs/todayFolder里面,命名为2d.pcdtry {fs::copy(sourceFilePath, destinationFilePath, fs::copy_options::overwrite_existing);std::cout << "Copied file to: " << destinationFilePath << std::endl;} catch (const fs::filesystem_error &e) {std::cerr << "Error copying file: " << e.what() << std::endl;}// 清理一个月前的文件夹cleanupOldFolders(baseDir);return 0;
}

关键字:营销型网站策划方案_合肥住房和城乡建设局_优化公司哪家好_百度关键词排名提升工具

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: