I want to reorganize all the photos from one folder into subfolders of another path, where I want to create new subfolders named with the file creation dates.
Example:
photo1.png (creation date 12.02.2015)
photo2.png (creation date 12.02.2015)
photo3.png (creation date 13.02.2015)
--> create two subfolders: "12-feb-2015" with photo1.png and photo2.png and "13-feb-2015" with photo3.png
I wrote the code for copying the photos into the other folder and create subfolder with the current date. But I don't know how to create the subfolders named after the creation date of the files.
public class SimpleFileCopy
{
static void Main(string[] args)
{
// Specify what is done when a file is changed, created, or deleted.
string fileName = "*.png";
string sourcePath = @"C:\tmp";
string targetPath = @"U:\\";
// Use Path class to manipulate file and directory paths.
string sourceFile = Path.Combine(sourcePath, fileName);
//string destFile = Path.Combine(Directory.CreateDirectory("U:\\" + DateTime.Now.ToString("dd-MMM-yyyy") , fileName);
// To copy a folder's contents to a new location:
// Create a new target folder, if necessary.
if (!Directory.Exists("U:\\" + Directory.CreateDirectory("U:\\" + DateTime.Now.ToString("dd-MMM-yyyy"))))
{
Directory.CreateDirectory("U:\\" + Directory.CreateDirectory("U:\\" + DateTime.Now.ToString("dd-MMM-yyyy")));
}
else
// To copy a file to another location and
// overwrite the destination file if it already exists.
{
foreach (var file in new DirectoryInfo(sourcePath).GetFiles(fileName))
{
try
{
file.CopyTo(e.FullPath.Combine(targetPath + Directory.CreateDirectory("U:\\" + DateTime.Now.ToString("dd-MMM-yyyy")), file.Name));
}
catch { }
}
}
}
}