如何获取目录中存在的文件夹名称

How to get the folder names present in the directory

我有一个位于 @"F:\Unzip\" 的目录。根据我的要求,该目录将包含一个 folder.Now 我想将其中的文件夹移动到其他目录,但我不能获取 it.Here 是我尝试读取目录中存在的文件夹名称的代码,但它正在读取文件夹中存在的文件。

if (Directory.Exists(@"F:\Unzip\") == true)
{   
    //Get the file name

    List<String> files = Directory.GetFiles(@"F:\Unzip\", "*.*", SearchOption.AllDirectories).ToList();
    string strr=files[0].ToString();
} 

请帮我移动 directory.Thanks

中的文件夹

使用它来获取 "yourpath" 指定目录中的子目录名称。结果是一个字符串数组。

Directory.GetDirectories("yourpath");

就这么简单:

string[] folders = System.IO.Directory.GetDirectories(@"F:\Unzip\","*", System.IO.SearchOption.AllDirectories);

参考:http://msdn.microsoft.com/en-us/library/c1sez4sc.aspx

Directory.GetDirectories(@"F:\Unzip") 将生成 string[] F:\Unzip

中每个目录的完整路径

你可以这样试试:

List<string> lst = new List<string>();

DirectoryInfo[] dir = new DirectoryInfo(@"C:\SomePath").GetDirectories("*.*", SearchOption.AllDirectories);
foreach(DirectoryInfo d in dir) 
{
    lst.Add(d.Name);
}

这将为您提供目录中所有文件夹的列表。

使用 lambda

在没有 foreach 循环的情况下读取所有目录
List<string> lst = new List<string>();
var allDir = new DirectoryInfo(@"D:\Github").GetDirectories("*.*", SearchOption.AllDirectories).Select(x=>x.Name).ToList();

lst = allDir;