【问题标题】:How to get the folder names present in the directory如何获取目录中存在的文件夹名称
【发布时间】:2015-06-27 16:12:28
【问题描述】:

我有一个位于@"F:\\Unzip\\" 的目录。该目录将包含一个文件夹。现在根据我的要求,我想将其中的文件夹移动到其他目录,但我无法得到它。这里是我试图读取目录中存在的文件夹名称但它正在读取文件夹中存在的文件的代码。

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

请帮我移动目录中的文件夹。谢谢

【问题讨论】:

  • 移动意味着源和目标。您的问题不清楚。

标签: c# .net file-io io


【解决方案1】:

你可以这样试试:

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

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

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

【讨论】:

  • @RadheyPandey:- 我不明白。你能详细说明一下吗?
【解决方案2】:

使用它来获取由“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

【讨论】:

  • 你能解释一下吗?
  • 希望对你有帮助
  • 我想我的回答对你也有帮助:p
【解决方案3】:

Directory.GetDirectories(@"F:\Unzip") 将产生string[] 中每个目录的完整路径F:\Unzip

【讨论】:

    【解决方案4】:

    使用 lambda 读取所有没有 foreach 循环的目录

    List<string> lst = new List<string>();
    var allDir = new DirectoryInfo(@"D:\Github").GetDirectories("*.*", SearchOption.AllDirectories).Select(x=>x.Name).ToList();
    
    lst = allDir;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多