C++ 命令行文件管理工具:简易实现文件目录浏览

本文将使用 C++ 语言实现一个简单的命令行文件管理工具,帮助用户方便地浏览文件和目录。

代码示例

#include <iostream>
#include <string>
#include <filesystem>

namespace fs = std::filesystem;

void displayDirectory(const std::string& path) {
    int count = 1;
    std::cout << '当前目录:' << path << std::endl;
    for (const auto& entry : fs::directory_iterator(path)) {
        std::cout << count++ << '. ' << entry.path().filename().string() << std::endl;
    }
}

int main() {
    std::string currentPath = fs::current_path().string();
    displayDirectory(currentPath);

    while (true) {
        std::cout << '请输入序号:';
        int choice;
        std::cin >> choice;

        if (choice <= 0) {
            std::cout << '序号无效!' << std::endl;
            continue;
        }

        int count = 1;
        bool found = false;
        for (const auto& entry : fs::directory_iterator(currentPath)) {
            if (count == choice) {
                if (fs::is_directory(entry)) {
                    currentPath = entry.path().string();
                    found = true;
                    break;
                }
                else {
                    std::cout << '选择的不是一个有效的目录!' << std::endl;
                }
            }
            count++;
        }

        if (found) {
            displayDirectory(currentPath);
        }
        else {
            std::cout << '无效的选择!' << std::endl;
        }
    }

    return 0;
}

代码解析

该工具使用 std::filesystem 库来处理文件和目录,具体流程如下:

  1. 初始化: 程序首先获取当前目录并显示其下的文件和目录列表,每个文件或目录前面用序号标识。
  2. 用户输入: 程序等待用户输入序号选择要进入的目录,或查看的文件。
  3. 目录切换: 如果用户选择的序号对应一个目录,程序会切换到该目录并显示其下的文件和目录列表。
  4. 文件查看: 如果用户选择的序号对应一个文件,程序会给出提示信息,说明该选择不是一个有效的目录。
  5. 循环操作: 程序会不断循环,等待用户输入,直到用户退出程序。

功能拓展

该工具可以进一步扩展,实现更多功能,例如:

  • 文件内容查看
  • 文件删除
  • 文件复制
  • 文件重命名
  • 文件搜索

总结

本文提供了一个简单的命令行文件管理工具的示例,使用 std::filesystem 库实现基本的文件系统操作。用户可以根据自身需求对代码进行修改和拓展,实现更多功能。


原文地址: https://www.cveoy.top/t/topic/phgC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录