c#获取文件夹内包含子文件夹内的所有文件的文件名
时间: 2024-10-20 11:15:49 浏览: 55
在 C# 中,可以使用 `Directory.GetFiles` 和递归函数来获取文件夹及其子文件夹内的所有文件名。这里是一个示例:
```csharp
using System;
using System.IO;
public static void GetFilesRecursively(string directoryPath)
{
try
{
// 获取目录路径下的所有文件
string[] files = Directory.GetFiles(directoryPath);
// 输出文件名
foreach (string file in files)
Console.WriteLine(file);
// 递归遍历子目录
if (Directory.GetDirectories(directoryPath).Length > 0)
{
foreach (string subDir in Directory.GetDirectories(directoryPath))
{
GetFilesRecursively(subDir); // 调用自身处理子目录
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error while getting files: {ex.Message}");
}
}
// 要获取文件的根目录
string rootFolder = "your_directory_path";
GetFilesRecursively(rootFolder);
```
在这个例子中,`GetFilesRecursively` 函数会首先获取指定目录下的所有直接文件,然后递归地对每个子目录调用自己,直到所有的文件和子目录都被处理。
阅读全文