El siguiente script en Bash nos permite borrar los ficheros *.adr (o cualquier otra extensión) creados con anterioridad a una fecha y hora dadas.
#!/bin/bash
# Ruta del directorio a limpiar
DIR="/home/jant.encinar/runDC2"
# Fecha y hora de referencia (formato [[CC]YY]MMDDhhmm)
FECHA="202504240903"
# Crear archivo temporal con la fecha de referencia
touch -t "$FECHA" /tmp/fecha_referencia
# Mostrar archivos .adr que serán eliminados
echo "Archivos .adr anteriores al $FECHA en $DIR:"
find "$DIR" -maxdepth 1 -name "*.adr" ! -newer /tmp/fecha_referencia -type f -print
# Confirmación antes de borrar
read -p "¿Deseas borrar estos archivos? [s/N]: " CONFIRMAR
if [[ "$CONFIRMAR" =~ ^[sS]$ ]]; then
find "$DIR" -maxdepth 1 -name "*.adr" ! -newer /tmp/fecha_referencia -type f -delete
echo "Archivos eliminados."
else
echo "Operación cancelada."
fi
# Borrar archivo temporal
rm -f /tmp/fecha_referencia
¿Cómo usarlo?
nano borrar_adr_antiguos.sh # Guarda el contenido en un archivo: Pega el contenido
# y guarda con Ctrl+O, luego Enter, y sal con Ctrl+X
chmod +x borrar_adr_antiguos.sh # Haz el fichero borrar_adr_antiguos.sh ejecutable
./borrar_adr_antiguos.sh # Ejecuta el script
Versión equivalente para ser ejecutada en Windows
# Ruta del directorio a limpiar
$directorio = "D:\aaa\80P_MolPort-010-776-734" # Cambia esto si tu carpeta es distinta
# Fecha de referencia
$fechaReferencia = Get-Date "2025-04-24 10:05"
# Buscar y eliminar archivos .adr anteriores a esa fecha
Get-ChildItem -Path $directorio -Filter "*.adr" |
Where-Object { $_.LastWriteTime -lt $fechaReferencia } |
ForEach-Object {
Write-Host "Eliminando: $($_.FullName)"
Remove-Item $_.FullName -Force
}
Write-Host "`nProceso completado."
¿Cómo usarlo?
Guarda el contenido de esta versión del script como un fichero de texto Borrar-AdrAntiguos.ps1
# Abre PowerShell como administrador (si tienes restricciones de permisos).
.\Borrar-AdrAntiguos.ps1 # Ejecuta el script