1

我有这个 c# 代码,我想删除文档库中的某个子目录。但是,这会产生错误,因为目录不为空。我希望有人可以指导我如何做到这一点。

感谢您的及时回复。

StorageFolder storageFolder = KnownFolders.DocumentsLibrary;              
var queryResult = storageFolder.CreateFolderQuery();
IReadOnlyList<StorageFolder> folderList = await queryResult.GetFoldersAsync();

 foreach (StorageFolder folder in folderList)
    {
       await folder.DeleteAsync();             
    }
4

2 回答 2

2

您可以使用StorageFolder.GetFilesAsync()获取文件夹中存在的所有文件的列表,并在删除文件夹之前将其删除,因为该DeleteAsync()方法无法指定子文件夹和文件。

更多信息:StorageFolder 类| MSDN

于 2012-09-19T03:43:02.683 回答
2

希望这可能会有所帮助。

 public async void deletefile()
        {
            StorageFolder sourceFolder =  ApplicationData.Current.TemporaryFolder;
           // sourceFolder = await sourceFolder.GetFolderAsync("Test");
           // await sourceFolder.DeleteAsync(StorageDeleteOption.PermanentDelete);


          // var files = await sourceFolder.GetFilesAsync();

           IReadOnlyList<StorageFile> folderList = await sourceFolder.GetFilesAsync();
            if (folderList.Count > 0)
            {
                foreach (StorageFile f1 in folderList)
                {

                    await f1.DeleteAsync(StorageDeleteOption.PermanentDelete);
                }
            }

           //StorageFile retfile = await ApplicationData.Current.TemporaryFolder.GetFileAsync("MysoundFile.mp3");
           // if (retfile != null)
           // {
           //     await retfile.DeleteAsync(StorageDeleteOption.PermanentDelete);
           // }


        }
于 2014-02-22T11:29:09.383 回答