能不能编写一个C++程序,实验将文件夹里的文件提取出来并重命名为“文件夹名+文件名”
时间: 2024-02-06 19:09:28 浏览: 96
可以的,以下是一个实现此功能的 C++ 程序:
```cpp
#include <iostream>
#include <fstream>
#include <filesystem>
#include <string>
namespace fs = std::filesystem;
int main(int argc, char* argv[]) {
if (argc != 2) {
std::cerr << "Usage: " << argv[0] << " <folder_path>\n";
return 1;
}
const std::string folder_path = argv[1];
const fs::path folder(folder_path);
if (!fs::is_directory(folder)) {
std::cerr << folder_path << " is not a directory\n";
return 1;
}
for (const auto& entry : fs::directory_iterator(folder)) {
// Skip if it's a directory
if (fs::is_directory(entry)) {
continue;
}
const fs::path file_path = entry.path();
const std::string file_name = folder_path + file_path.filename().string();
// Rename the file
if (fs::rename(file_path, file_name)) {
std::cerr << "Failed to rename " << file_path << "\n";
}
}
return 0;
}
```
使用方法:在终端中运行可执行文件并传入文件夹路径作为参数,例如:
```
./rename_files ~/Downloads/example_folder/
```
该程序将会将 `~/Downloads/example_folder/` 文件夹中的所有文件重命名为 `example_folder<文件名>` 的格式。
阅读全文