Try this
public void MoveDirectory(string strSrcDir,string strDestDir,bool isOverRide)
{
if (Directory.Exists(strSrcDir))
{
if (Directory.GetDirectoryRoot(strSrcDir) == Directory.GetDirectoryRoot(strDestDir))
{
Directory.Move(strSrcDir, strDestDir);
}
else
{
try
{
CopyDirectory(new DirectoryInfo(strSourceDir),new DirectoryInfo(strDestDir));
if (isOverRide)Directory.Delete(strSo urceDir, true);
}
catch (Exception subEx)
{
throw subEx;
}
}
}
}
private void CopyDirectory(DirectoryInfo diSrc,DirectoryInfo diDest)
{
if (!diDest.Exists)diDest.Create();
FileInfo[] fiSrcFiles = diSrc.GetFiles();
foreach (FileInfo fiSrcFile in fiSrcFiles)
{
fiSrcFile.CopyTo(Path.Combine(diDe stDir.FullName, fiSrcFile.Name));
}
DirectoryInfo[] diSrcDirectories = diSrc.GetDirectories();
foreach (DirectoryInfo diSrcDirectory in diSrcDirectories)
{
CopyDirectory(diSrcDirectory, new DirectoryInfo(Path.Combine(diDest.FullName, diSrcDirectory.Name)));
}
}