如何获取Azure File Share Storage C#中子文件夹内的所有文件?

时间:2018-07-12 12:31:10

标签: c# azure-storage fileshare

我也要复制子文件夹中的所有文件。

文件夹结构-

Source \ Folder1 \ Data \ file1.txt

Source \ Folder1 \ Data \ file2.txt

Source \ Folder1 \ Data \ Temp1 \ temp1.txt

Source \ Folder1 \ Data \ Temp1 \ temp2.​​txt

我有以下代码,但我只得到AbstractControl

我想要一个递归代码。任何帮助-感谢@Compufreak提供递归代码 我仍然无法复制文件,因为源不是源文件夹。

root and its sub-folders not inside it

1 个答案:

答案 0 :(得分:2)

我建议在此处使用递归(如果是目录,则将调用添加到list_subdir中的list_subdir中):

public static void list_subdir(IListFileItem list)
    {
        Console.WriteLine("subdir");
        CloudFileDirectory fileDirectory = (CloudFileDirectory)list;
        IEnumerable<IListFileItem> fileList = fileDirectory.ListFilesAndDirectories();

        // Print all files/directories in the folder.
        foreach (IListFileItem listItem in fileList)
        {
            // listItem type will be CloudFile or CloudFileDirectory.
            if (listItem.GetType() == typeof(Microsoft.WindowsAzure.Storage.File.CloudFileDirectory))
            {
                list_subdir(listItem);
            } else {
                Console.WriteLine(listItem.Uri.Segments.Last());
            }
        }
 }