用C语言或C++写一个删除windows电脑上C:\test目录十分之前的文件的代码
时间: 2024-02-11 15:07:21 浏览: 63
C++ 删除某文件夹路径下当前系统时间前/后某天的文件
4星 · 用户满意度95%
以下是 C++ 代码实现:
```c++
#include <iostream>
#include <filesystem>
#include <chrono>
namespace fs = std::filesystem;
using namespace std::chrono;
int main()
{
fs::path dir_path = "C:/test";
auto expire_time = duration_cast<seconds>(system_clock::now().time_since_epoch()).count() - 864000; // 864000 秒为十天
for (const auto& entry : fs::recursive_directory_iterator(dir_path))
{
if (entry.is_regular_file() && entry.last_write_time().time_since_epoch().count() < expire_time)
{
fs::remove(entry.path());
std::cout << entry.path() << " has been deleted." << std::endl;
}
}
return 0;
}
```
以上代码使用了 C++17 中的文件系统库,会遍历 `C:\test` 目录及其子目录下的所有文件,如果文件的最后修改时间早于十天前,则会将其删除。如果目录下有很多文件,这个过程可能会比较耗时,请耐心等待。另外,建议在运行之前先备份好重要的文件。
阅读全文