【问题标题】:Create Multiple Sub Folders inside a Folder在一个文件夹内创建多个子文件夹
【发布时间】:2018-08-09 08:51:04
【问题描述】:

我想一次在一个文件夹中创建多个子文件夹。

就像在图像中一样,我想在 B 中一次创建 A->B->C 和 D,而无需循环。有没有办法在C#中实现它

【问题讨论】:

标签: c#


【解决方案1】:

Directory.CreateDirectory 将在给定路径中创建所有目录,包括所有子目录。

using System.IO;

var paths = new [] { "F:\\A\\B\\C", "F:\\A\\B\\D" };

foreach (var path in paths) {
    try {
        // Determine whether the directory exists.
        if (Directory.Exists(path)) {
            Console.WriteLine($"Skipping path '{path}' because it exists already.");
            continue;
        }

        // Try to create the directory.
        var di = Directory.CreateDirectory(path);
        Console.WriteLine($"Created path '{path}' successfully at {Directory.GetCreationTime(path)}.");
    }
    catch (Exception e) {
        Console.WriteLine($"The process failed: {e}");
    }
}

【讨论】:

  • 感谢@Georg,但我要求的是没有任何循环的解决方案。我不想运行任何循环。我试过但没有找到任何没有循环的方法然后我在这里发布了一个问题。
  • 我不认为没有循环解决这个问题是可能的,因为你想创建两条路径,并且没有CreateDirectory 的重载需要多个路径作为参数。
【解决方案2】:

试试这个代码。

 private string GetUploadFileFolderPath()
    {

        string struploadUserImageFolderPath ="~/A/";
        string strGetStockUploadFolderName ="C";
        string strfullFolderPath = "~/A/" + "B" + "/" + strGetStockUploadFolderName + "/";
        return strfullFolderPath;

    }

 struploadUserImageFolderPath = GetUploadFileFolderPath();    // file path
                    if (!Directory.Exists(Server.MapPath(struploadUserImageFolderPath)))
                    {
                        Directory.CreateDirectory(Server.MapPath(struploadUserImageFolderPath));
                    }

【讨论】:

    【解决方案3】:

    var path = @"PATH_TO_FILE"; new FileInfo(path).Directory.Create();

    【讨论】:

      最近更新 更多