using System;
using System.IO;
//a quick sample recursive solution...
namespace MyConsoleApplication
{
class Program
{
static void Main(string[] args)
{
ProcessDir("D:/spket", 3);
Console.ReadLine();
}
/// <summary>
/// How to loop through all files in a folder using C#
/// </summary>
/// <param name="sourceDir">folder source directory</param>
/// <param name="howDeepToScan"> How much deep to scan.</param>
public static void ProcessDir(string sourceDir, int howDeepToScan)
{
// Process the list of files found in the directory.
string[] fileEntries = Directory.GetFiles(sourceDir);
foreach (string fileName in fileEntries)
{
// do something with fileName
Console.WriteLine(fileName);
}
// Recurse into subdirectories of this directory.
string[] subdirEntries = Directory.GetDirectories(sourceDir);
foreach (string subdir in subdirEntries)
// Do not iterate through reparse points
if ((File.GetAttributes(subdir) & FileAttributes.ReparsePoint) != FileAttributes.ReparsePoint)
{
ProcessDir(subdir, howDeepToScan + 1);
}
}
}
}
using System.IO;
//a quick sample recursive solution...
namespace MyConsoleApplication
{
class Program
{
static void Main(string[] args)
{
ProcessDir("D:/spket", 3);
Console.ReadLine();
}
/// <summary>
/// How to loop through all files in a folder using C#
/// </summary>
/// <param name="sourceDir">folder source directory</param>
/// <param name="howDeepToScan"> How much deep to scan.</param>
public static void ProcessDir(string sourceDir, int howDeepToScan)
{
// Process the list of files found in the directory.
string[] fileEntries = Directory.GetFiles(sourceDir);
foreach (string fileName in fileEntries)
{
// do something with fileName
Console.WriteLine(fileName);
}
// Recurse into subdirectories of this directory.
string[] subdirEntries = Directory.GetDirectories(sourceDir);
foreach (string subdir in subdirEntries)
// Do not iterate through reparse points
if ((File.GetAttributes(subdir) & FileAttributes.ReparsePoint) != FileAttributes.ReparsePoint)
{
ProcessDir(subdir, howDeepToScan + 1);
}
}
}
}
C#遍历文件夹

本文介绍了一种使用C#语言实现的递归方法来遍历指定目录及其子目录下的所有文件。通过设置递归深度参数,可以控制搜索的深度。此方法避免了对符号链接的处理。

被折叠的 条评论
为什么被折叠?



