DirectoryInfo di = new DirectoryInfo(@"C:\Test\"); foreach (FileInfo fi in di.GetFiles("*.zip")) { foreach (DirectoryInfo dir in destinationDir) { String file = fi.ToString(); var destinationPath = @"C:\AppName\"; if (!Directory.Exists(destinationPath)) Directory.CreateDirectory(destinationPath); Shell sh = new Shell(); Folder destFlder = sh.NameSpace(destinationPath); Folder srcFlder = sh.NameSpace(fi.FullName); foreach (FolderItem F in srcFlder.Items()) { destFlder.CopyHere(F, null); } } }