Organize Files Monthly by Last Modified Date

I recently had a situation where I had a single folder with 50,000+ files in it (uploaded motion detection JPEG images from a surveillance camera), and I needed to split them up into folders by month to make it manageable. I wanted to look at the Last Modified Date of the file, and send it into its respective folder (i.e. 2009-02, 2009-03, etc).

Out of that came this simple little utility that does just that. I've ended up using it for a few situations so thought I'd go ahead and share it. This is written in .NET, so the .NET framework is required.

Download the utility

Instructions (also in instructions.txt):

This utility will take files in a folder, say, C:Temp, and move files based on their Last Modified date into "monthly" folders.

For example, if two files exist in C:Temp, file1.txt, and file2.txt, and the first was last modified in January 2009, and the second last modified in April 2009, this utility will move them into two respective folders:


By default, it will run in read-only mode, and not actually do anything with the files unless the -noReadOnly parameter is used.

Usage: filefolderdateorganizer "C:Temp" -noReadOnly

  • Matt Whalen

    This utility addresses an issue I've been struggling with. I wonder if it's possible to add/modify something. The utility adds the full name of the month to the folder. I don't really need that. YYYY-MM format is perfect for my needs. Also, I'd like to call the procedure from an archiving batch file which moves files from one volume to another. It would be great if I could specify the source and destination folders. Possible?