With the operating systems available today, using the graphical user interface (GUI) of the operating system has become second-nature for me. It is very easy to copy, move, and delete files through the GUI interface than typing out the commands from a command line.
With all the interface options in an operating system, there are many times where it can be more efficient to use the command line. In one such case, I wanted to create a simple method of deleting files that were older than seven days from a specified directory. While I could have written an application to do this, I wanted to make it more simple by using a batch file. With an additional executable available with the Windows 2003 SDK, I can easily accomplish my goal.
Deleting Files From DOS Older Than Seven Days
There is a small executable called ForeFiles that can easily allow you to get the files in a directory that meet certain time criteria. In my case I want to find all files that were older than 7 days.
To do this, I added the following command to a batch file:
The above line executes the forefiles.exe program with the following parameters:
|/p||This parameter specifies the path that contain the files I wish to delete.|
|/s||This parameter tells the program to recurse into any subfolders to look for additional files.|
|/m||If you want to specify a specific file type, this parameter will allow you to limit the search to specific files, such as *.doc for Word documents. In my case, I looked for all files (*.*).|
|/d||This one is the key parameter – it specifies the last modified date value. In my example I specify “-7″ which indicates that the files need to have a modified date 7 days less than the current date.|
|/c||This is the command that I execute on the files found by the program. The delete command is executed in a command window for each file.|
While there are many ways to perform such an action through other applications, some times I find using batch files, and then scheduling them to run, can be just as easy.