public static async void TestCopy() { string path = "H:\\New folder\\A"; string targetPath = "H:\\New folder\\B\\sadasd"; IList <FileItemInfo> items = new List <FileItemInfo>(); try { DirectoryInfo directory = new DirectoryInfo(path); var dirs = directory.EnumerateDirectories(); foreach (var dir in dirs) { items.Add(new FileItemInfo { FullName = dir.FullName, Name = dir.Name, IsDirectory = true }); } var files = directory.EnumerateFiles(); foreach (var file in files) { items.Add(new FileItemInfo { FullName = file.FullName, Name = file.Name, IsDirectory = false }); } FileOperationService service = new FileOperationService(); var result = await service.CopyFileItem(items, targetPath, true); foreach (var r in result) { Console.WriteLine($"{r.SourceName}\t{r.TargetName}\t{r.IsDirectory}"); } Console.WriteLine("============================"); result = await service.UndoCopy(result); foreach (var r in result) { Console.WriteLine($"{r.SourceName}\t{r.TargetName}\t{r.IsDirectory}"); } } catch (Exception e) { Console.WriteLine(e); throw; } }