using System.Collections.Generic;
using System.Threading.Tasks;
const string sourcePath = @"\\10.46.00.000\Data\Releases\ToolsNet8";
const string targetPath = @"C:\Users\Administrator\Desktop\test";
static void Main(string[] args)
CopyAndDeleteFile(sourcePath, targetPath);
Console.WriteLine(e.Message);
static public void CopyAndDeleteFile(string sourcePath, string targetPath)
Console.WriteLine("start Copying");
DateTime targetFilesLastWriteTime = Directory.EnumerateFiles(targetPath).Select(f => new FileInfo(f)).Max(f => f.LastWriteTime);
var sourceFiles = Directory.EnumerateFiles(sourcePath).Select(f => new FileInfo(f)).Where(f => f.LastWriteTime > targetFilesLastWriteTime);
Console.WriteLine("number of source Files {0}", sourceFiles.Count());
Console.WriteLine("creation time on target file {0}",targetFilesLastWriteTime);
Directory.EnumerateFiles(targetPath).Select(f => new FileInfo(f));
foreach(var fileToRemove in Directory.EnumerateFiles(targetPath).Select(f => new FileInfo(f)))
Console.WriteLine("Deleleting {0}",fileToRemove.FullName);
var file = sourceFiles.OrderByDescending(f => f.LastWriteTime).FirstOrDefault();
Console.WriteLine("Copying {0}", file.FullName);
file.CopyTo(Path.Combine(targetPath, file.Name));