Saludos,
- Batch tiene sus limitaciones para manipular fechas, y más aún si se trata de una fecha de creación. Lo usual es ayudarse de vbScript o hoy en día de PowerShell.
- Por ejemplo el siguiente script en PowerShell Muestra (Write-Output) todas las carpetas (-Directory) del Escritorio que tengan una fecha de creación anterior a 5 días, esto lo hace de la forma correcta, tomando incluso los segundos:
Get-ChildItem 'C:\Users\EdSon\Desktop' -Directory | Where-Object {(Get-Date).AddDays(-5) -gt $_.CreationTime} | Write-Output
-- Puedes reemplazar la Ruta y el comando final (Write-Output) por Remove-Item para eliminar en lugar de mostrar. Como siempre, recomiendo probar los comandos de manera no destructiva hasta que esté bien claro que es como se quiere que trabaje.
-- El siguiente comando muestra de forma detallada la fecha de creación, última modificación y último acceso de las carpetas:
Get-ChildItem 'C:\Users\EdSon\Desktop' -Directory | Where-Object {(Get-Date).AddDays(-5) -gt $_.CreationTime} | Write-Output | Format-List
- Lo puedes ejecutar desde una consola CMD o un Bacth anteponiendo PowerShell y usando comillas dobles para el/los comandos a ejecutar:
PowerShell "Get-ChildItem 'C:\Users\EdSon\Desktop' -Directory | Where-Object {(Get-Date).AddDays(-5) -gt $_.CreationTime} | Write-Output | Format-List"
- Si lo que necesitas es trabajar con fechas de modificación, se puede utilizar ForFiles.