Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 180
  • Last Modified:

How do delete a folder after X days old

Using Windows XP, I have the following batch file:

@echo off
cls

SET month=%DATE:~4,2%
SET day=%DATE:~7,2%
SET year=%DATE:~-4%
SET hour=%time:~0,2%
SET sec=%time:~3,2%
SET millis=%time:~6,2%


set folder=%year%_%month%%day%_%hour%%sec%

rem remove spaces from single digit values
set folder=%folder: =%

mkdir %folder%

:Done


This makes a folder based and named based on date and time.  This folder will later be populated for backup purposes.  Of course this can get rather large so I would like to also add to the batch to check for any folders X days old and then delete those folders.

Is this possible?

Thank you
0
thandel
Asked:
thandel
  • 10
  • 5
  • 2
  • +1
2 Solutions
 
NVITCommented:
Would this help? Change 15 to the DaysOld you want.

FORFILES /d -15 "cmd /c if @isdir==TRUE del /q /s /f @file"

Open in new window

0
 
EirmanCommented:
Unless you have a particular reason to go the DOS route to delete older backups, it might make more sense to go for a backup program that keeps a certain number (that you specify .. e.g. 10) of backups and when it created a new backup, the oldest one is deleted.

This is just one example of such a program ...
http://www.kls-soft.com/klsbackup/
0
 
thandelAuthor Commented:
Thanks NewVillageIT... will this work for a folder/directory?
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
thandelAuthor Commented:
I'm getting an error that Forfiles is not a recognizable command.
0
 
thandelAuthor Commented:
I have Windows XP so  I don't think XP supports this command.
0
 
NVITCommented:
The @isdir==TRUE option checks for directories.

Before doing your real folders, test against an area that has some folders and files.

I haven't confirmed this but, it's in the Windows 2003 Resource Kit at http://www.microsoft.com/en-us/download/details.aspx?id=17657

XP versions here: http://www.petri.com/download_windows_xp_reskit_tools.htm
0
 
thandelAuthor Commented:
What is that 12MB installation going to do, install several .exe tool files?  Can you attach the forfile to this?  I only need that and not the other 12+MB supporting files.
0
 
thandelAuthor Commented:
OK never mind I installed the kit but forfiles was not part of the installation.
0
 
NVITCommented:
Attached. Rename .txt to .exe
forfiles.txt
0
 
thandelAuthor Commented:
Thanks now getting an error invalid argument/option  with forfiles
0
 
ZabagaRCommented:
I already had a batch script to do this from a while back, I'll just repost below:
I keep 14 days and my path to search is C:\MyFolderPath

@echo off
setlocal

set DAYS_TO_KEEP=-14
set BACKUP_PATH=C:\MyFolderPath

forfiles /d %DAYS_TO_KEEP% /p "%BACKUP_PATH%" /c "cmd /c if @isdir==TRUE rd /s /q @path"
0
 
NVITCommented:
thandel,

Did you get it working? If not, can you post a sample code?
0
 
thandelAuthor Commented:
Getting an error that "P" can not be empty.  Here is my code:

@echo off
cls

SET month=%DATE:~4,2%
SET day=%DATE:~7,2%
SET year=%DATE:~-4%
SET hour=%time:~0,2%
SET sec=%time:~3,2%
SET millis=%time:~6,2%
SET DAYS_TO_KEEP=-1


set folder=%year%_%month%%day%_%hour%%sec%
rem remove spaces from single digit values
set folder=%folder: =%

set set BAKPath=C:\Documents and Settings\Todd\My Documents\DbBAK\%folder%

mkdir %folder%
cd %folder%

forfiles /d %DAYS_TO_KEEP% /p "%BAKpath%" /c "cmd /c if @isdir==TRUE rd /s /q @path"
0
 
thandelAuthor Commented:
Sorry cut n' paste error but didn't resolve the P variable error:

Should be: set BAKPath=C:\Documents and Settings\Todd\My Documents\DbBAK
0
 
thandelAuthor Commented:
I have it working... my set command had typos "set set".... working now!

Thanks
0
 
thandelAuthor Commented:
Does everyone agree that a 50/50 split is fair?    Ultimately used ZabagaR's forfile line
0
 
NVITCommented:
OK, thandle.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 10
  • 5
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now