我的搜索文件夹功能不起作用

本文关键字:不起作用 功能 文件夹 搜索 我的 | 更新日期: 2023-09-27 18:35:17

我正在检查目录中的文件夹名称。它总共有 79 个文件夹,但当我在控制台上打印它们时,我只得到 49 个。我的代码:

        StreamWriter sw;
        string dirPath = @"F:'Path'";
        DirectoryInfo dir = new DirectoryInfo(dirPath);
        int i = 1;
        sw = new StreamWriter(dirPath + "Pathlist.txt");
        foreach (string d in Directory.GetDirectories(dirPath))
        {
            string[] s = d.Split('''');
            sw.Write(i + ". " + s[2] + Environment.NewLine);
            i++;
        }

但是当我调试我的代码时,它会遍历所有文件夹并获取它们的名称。

我的搜索文件夹功能不起作用

您可以使用

File.WriteAllLines方法将字符串集合写入文件。

Directory.GetDirectories SearchOption.AllDirectories将为您提供给定路径的所有目录和子目录

通过使用Path.GetFileName方法,您可以获取路径的最后一个目录名称。

将一个或多个字符串联接为路径时使用Path.Combine

string path =Path.Combine(dirPath, "Pathlist.txt");
File.WriteAllLines(path,
             Directory.GetDirectories(dirPath, "*", SearchOption.AllDirectories)
                 .Select(d=>Path.GetFileName(d)));

试试这个

string dirPath = @"F:'Path'";
if(Directory.Exists(dirPath))
{
   if(File.Exists(dirPath+"''Pathlist.txt"))
    {
         /// Do your Code here 
         /// As Damith Said do this 
        File.WriteAllLines(path,Directory.GetDirectories(dirPath, "*", SearchOption.AllDirectories)
             .Select(d=>Path.GetFileName(d)));
    }
}