<p>I am looking for a way to delete all files older than 7 days in a batch file.  I've searched around the web, and found some examples with hundreds of lines of code, and others that required installing extra command line utilities to accomplish the task.</p>

<p>Similar things can be <a href="https://stackoverflow.com/questions/25785/delete-all-but-the-most-recent-x-files-in-bash">done in BASH</a> in just a couple lines of code. It seems that something at least remotely easy could be done for batch files in Windows. I'm looking for a solution that works in a standard Windows command prompt, without any extra utilities. Please no PowerShell or Cygwin either.</p>

Enjoy:
```
```
forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path"
```
```
See
```
forfiles
```
documentation
for more details.
For more goodies, refer to
An A-Z Index of the Windows XP command line
.
If you don't have
```
forfiles
```
installed on your machine, copy it from any
Windows Server 2003
to your Windows XP machine at
```
%WinDir%\system32\
```
. This is possible since the EXE is fully compatible between Windows Server 2003 and Windows XP.
Later versions of Windows and Windows Server have it installed by default.
For Windows 7 and newer (including Windows 10):
The syntax has changed a little. Therefore the updated command is:
```
```
forfiles /p "C:\what\ever" /s /m *.* /D -<number of days> /C "cmd /c del @path"
```
```