C#
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,099 questions
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
This code only copies new and modified files under E:\Document but leaves all the subfolders and their new and modified files uncopied.
How do I also get the subfolder's new and modified files also copied?
const string sourcePath = @"E:\Document";
const string destPath = @"D:\Test";
string[] originalFiles = Directory.GetFiles(sourcePath, "*", SearchOption.AllDirectories);
Array.ForEach(originalFiles, (originalFileLocation) => {
FileInfo originalFile = new FileInfo(originalFileLocation);
FileInfo destFile = new FileInfo(originalFileLocation.Replace(sourcePath, destPath));
if (destFile.Exists){
if (originalFile.Length > destFile.Length{
originalFile.CopyTo(destFile.FullName, true);
}
}
else {
Directory.CreateDirectory(destFile.DirectoryName);
originalFile.CopyTo(destFile.FullName, false);
}
Instead of comparing the length with '>', try a different condition:
if( originalFile.Length != destFile.Length || originalFile.LastWriteTime != destFile.LastWriteTime)
. . .