c# - 在 WinRT 上复制文件夹

标签 c# windows-8 copy winrt-async

目前,我只知道如何使用以下方法复制文件:

IStorageFolder dir = Windows.Storage.ApplicationData.Current.LocalFolder;

IStorageFile file = await StorageFile.GetFileFromApplicationUriAsync(
    new Uri("ms-appx:///file.txt"));

await file.CopyAsync(dir, "file.txt");

当我尝试复制文件夹和里面的所有内容时,我找不到像上面的 CopyAsync 这样的 API。

是否可以复制文件夹和WinRT中的所有内容?

最佳答案

上面的代码并不令我满意(太具体了),我做了自己的通用代码所以想我可以分享它:

public static async Task CopyFolderAsync(StorageFolder source, StorageFolder destinationContainer, string desiredName = null)
    {
        StorageFolder destinationFolder = null;
            destinationFolder = await destinationContainer.CreateFolderAsync(
                desiredName ?? source.Name, CreationCollisionOption.ReplaceExisting);

        foreach (var file in await source.GetFilesAsync())
        {
            await file.CopyAsync(destinationFolder, file.Name, NameCollisionOption.ReplaceExisting);
        }
        foreach (var folder in await source.GetFoldersAsync())
        {
            await CopyFolderAsync(folder, destinationFolder);
        }
    }

关于c# - 在 WinRT 上复制文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248287/

相关文章:

C#:为什么绘图很慢?

c# - 元素属性语法和属性属性语法在语义上有区别吗?

c# - VS11 应用程序上的关闭按钮

c# - 快速将 Bitmap 转换为 BitmapSource wpf

javascript - 将 JavaScript 变量的输出复制到剪贴板

c# - OpenXML Spreadsheet - 在写入单元格值时保留值前后的空格

c# - 计算一组串联的 n 组集合

c# - 在 Windows 8/RT 中创建辅助磁贴而不显示 Pin to Start 弹出窗口

xaml - Windows 8 XAML 中的多列文本中的分栏符

javascript - 如何匿名函数/删除对象中的名称?