You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问指定目录下的任意文件或子目录?(附C#目录操作代码场景)

访问指定目录下的文件或子目录解决方案

嘿,我来帮你搞定这个问题!你已经定义了根目录路径MyPath = @"D:/Documents/Reonance Tunneling";,还有选中文件夹节点的逻辑,要访问目录下的文件或子目录其实很直观,分几种常用场景来说:

1. 直接访问根目录下的内容

如果你想操作根目录里的所有文件和子目录,直接用DirectoryInfo类实例化根路径就行,它提供了丰富的方法来获取目录内容:

// 别忘了先引用System.IO命名空间
using System.IO;

// 实例化根目录的DirectoryInfo对象
DirectoryInfo rootDirInfo = new DirectoryInfo(MyPath);

// 获取根目录下的所有一级子目录
DirectoryInfo[] rootSubDirs = rootDirInfo.GetDirectories();
// 获取根目录下的所有一级文件
FileInfo[] rootFiles = rootDirInfo.GetFiles();

// 进阶用法:用通配符过滤文件,比如只获取txt文件
FileInfo[] txtFiles = rootDirInfo.GetFiles("*.txt");
// 递归获取根目录下所有层级的文件(包括子目录里的)
FileInfo[] allFiles = rootDirInfo.GetFiles("*", SearchOption.AllDirectories);

2. 通过选中的TreeNode访问对应目录的内容

你在删除按钮的代码里已经拿到了选中节点的nodeDirInfo(DirectoryInfo类型),直接用这个对象就能访问该节点对应目录下的所有内容:

private void BntDeleteFolder_Click(object sender, EventArgs e) { 
    TreeNode newSelected = TreeView1.SelectedNode; 
    string DirectoryName = newSelected.Text; 
    DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag; 

    // 在这里添加访问目录内容的逻辑
    // 获取选中目录下的所有一级子目录
    DirectoryInfo[] selectedSubDirs = nodeDirInfo.GetDirectories();
    // 获取选中目录下的所有一级文件
    FileInfo[] selectedFiles = nodeDirInfo.GetFiles();

    // 示例:遍历选中目录下的所有文件并输出路径
    foreach(FileInfo file in selectedFiles)
    {
        // 可以把路径显示在界面控件里,比如TextBox
        // textBox1.AppendText(file.FullName + Environment.NewLine);
        Console.WriteLine(file.FullName);
    }

    try { 
        if (MessageBox.Show("Are you sure you want to delete Folder " + "'" + DirectoryName + "'" + " ?...") == DialogResult.Yes)
        {
            // 你的删除逻辑
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show("Delete failed: " + ex.Message);
    }
}

3. 注意事项

  • 必须添加using System.IO;命名空间,否则DirectoryInfo、FileInfo这些类无法使用
  • 操作文件/目录时建议保留try-catch块,处理权限不足、文件被占用、目录不存在等异常情况

内容的提问来源于stack exchange,提问作者James N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:33:56