C# “我的搜索文件夹”功能不起作用?

C# “我的搜索文件夹”功能不起作用?,c#,streamwriter,C#,Streamwriter,我正在检查目录中的文件夹名称。它总共有79个文件夹,但当我在控制台上打印它们时,我只得到49个。 我的代码: 但当我调试代码时,它会遍历所有文件夹并获取它们的名称。试试这个 string dirPath = @"F:\Path\"; if(Directory.Exists(dirPath)) { if(File.Exists(dirPath+"\\Pathlist.txt")) { /// Do your Code here /// As Da

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

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

试试这个

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)));

    }
}
可以使用方法将字符串集合写入文件

Directory.GetDirectories
使用
search选项。AllDirectories
将为您提供给定路径的所有目录和子目录

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

使用
Path。将一个或多个字符串合并为一个路径时,请合并

string path =Path.Combine(dirPath, "Pathlist.txt");

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

那么目录存在,文件也存在。但它并不是只写49个文件夹名,就像damith说的那样
string path =Path.Combine(dirPath, "Pathlist.txt");

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