Cómo eliminar archivos de más de X días automáticamente usando PowerShell (10.22.21)

En Windows 10, Storage sense es una función que libera espacio automáticamente cuando se está quedando sin almacenamiento. La función funciona eliminando los archivos basura del sistema, aquellos archivos que han estado en la papelera de reciclaje o la carpeta Descargas durante más de un mes, y haciendo que el contenido de OneDrive que ha usado en un tiempo esté solo en línea.

Aunque esta función puede ser útil para controlar el espacio de almacenamiento, es limitada y no ofrece una opción para agregar manualmente diferentes ubicaciones para monitorear y eliminar archivos que no han cambiado en el último mes.

Si almacena archivos que no son importantes en una ubicación diferente, es posible usar PowerShell y el Programador de tareas para monitorear y limpiar archivos de cualquier carpeta que tenga más de un número específico de días.

En esta guía, aprenderá los pasos para eliminar automáticamente los archivos que no se han modificado en el último mes o cualquier número de días que especifique en Windows 10. (Estos pasos también deberían funcionar en Windows 11.)

  • Cómo usar PowerShell para eliminar archivos de más de X días en Windows 10
  • Cómo usar el Programador de tareas para eliminar archivos de más de X días automáticamente en Windows 10
  • Cómo eliminar archivos de más de X días automáticamente usando el símbolo del sistema
Importante: Se recomienda probar el comando utilizando una carpeta temporal, ya que escribir el parámetro incorrecto puede provocar la eliminación de los archivos incorrectos.

Cómo usar PowerShell para eliminar archivos de más de X días en Windows 10

Si tiene diferentes carpetas con muchos archivos y desea limpiar eliminando los que tienen más de ciertos días, puede seguir estos pasos:

  • Abierto Comienzo en Windows 10.

  • Buscar Windows PowerShell , haga clic con el botón derecho en el resultado,y seleccione el Ejecutar como administrador opción.

  • Escriba el siguiente comando para eliminar archivos que no se hayan modificado en los últimos 30 días y presione Ingresar :

    Get-ChildItem –Path "C: \ ruta \ a \ carpeta" -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Remover el artículo

    En el comando anterior, recuerde cambiar "C: \ ruta \ a \ carpeta" especificando la ruta a la carpeta que desea eliminar archivos y cambiar -30 para seleccionar archivos con una fecha de última modificación.

  • Cómo usar el Programador de tareas para eliminar archivos de más de X días automáticamente en Windows 10

    El comando en las instrucciones anteriores le permite eliminar archivos en una carpeta con más de 30 días, pero debe abrir PowerShell y ejecutar el comando manualmente cada vez que desee liberar espacio.

    Crear un script de PowerShell con el Bloc de notas

    Para ejecutar una tarea con el Programador de tareas, deberá crear un script de PowerShell con los pasos:

  • Abierto Comienzo .

  • Buscar Bloc y haga clic en el resultado superior para abrir la experiencia.

  • Copie y pegue el siguiente comando en un archivo de texto del Bloc de notas:

    Get-ChildItem –Path "C: \ ruta \ a \ carpeta" -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Remover el artículo

    En el comando anterior recuerde cambiar "C: \ ruta \ a \ carpeta" especificando la ruta a la carpeta que desea eliminar archivos y cambiar -30 para seleccionar archivos con una fecha de última modificación.

  • Haga clic en el Expediente menú.

  • Elegir el Guardar como opción.

  • Guarde el archivo con el cleanup.ps1 nombre y extensión.

  • Crear una tarea usando el Programador de tareas

    Si desea automatizar el proceso, debe utilizar el Programador de tareas para crear una tarea que ejecute el comando a intervalos específicos.

  • Abierto Comienzo .

  • Buscar Programador de tareas y haga clic en el resultado.

  • Haga clic derecho en el Biblioteca del programador de tareas carpeta.

  • Haga clic en el Nueva carpeta opción.

  • Escriba cualquier nombre para la carpeta y haga clic en OK . (Estamos creando una nueva carpeta para mantener las tareas organizadas y separadas de las tareas del sistema).

  • Haga clic con el botón derecho en la carpeta creada recientemente y seleccione Crear tarea opción.

  • En el cuadro Nombre ”, ingrese un nombre para la tarea.

  • En la pestaña General ”, en la sección Opciones de seguridad”, seleccione el Ejecutar si el usuario está conectado o no en la sección "Opciones de seguridad". (Esta opción hará que la ventana de comandos no aparezca cuando la tarea se ejecute automáticamente).

  • Limpiar el No almacenar contraseña opción.

  • Haga clic en la pestaña Activadores ”.

  • Haga clic en el Nuevo botón.

  • En el menú desplegable Comenzar la tarea ”, seleccione En un horario .

  • En Configuración, ”especifique cuándo desea que se ejecute la tarea (por ejemplo, A tiempo, Diariamente, Semanalmente, Mensualmente). Cualquiera que sea la opción que seleccione, asegúrese de especificar el Comienzo ajustes en el lado derecho.

  • Haga clic en el OK botón.

  • Haga clic en el Comportamiento pestaña.

  • Haga clic en el Nuevo Botón.

  • Usando el menú desplegable "Acciones", seleccione el Iniciar un programa opción.

  • En el campo Programa / secuencia de comandos ”, escriba el siguiente comando:

    powershell.exe
  • En el campo Agregar argumentos ”, escriba el siguiente comando y haga clic en el OK botón.

    -ExecutionPolicy Bypass C: \ ruta \ a \ cleanup.ps1

    Recuerda cambiar "C: \ ruta \ a \ cleanup.ps1" especificando la ruta al script de PowerShell que ha creado previamente para eliminar archivos en el comando anterior.

  • Haga clic en el Ajustes pestaña.

  • Marque las siguientes opciones:

    • Permita que la tarea se ejecute bajo demanda.
    • Ejecute la tarea lo antes posible después de que se pierda un inicio programado.
    • Si la tarea falla, reinicie todo.
  • Haga clic en el OK botón.

  • Escriba su nombre de usuario administrativo y contraseña (si corresponde).

  • Haga clic en el OK botón.

  • Una vez que complete los pasos, la secuencia de comandos de PowerShell se ejecutará según la programación y eliminará los archivos con una antigüedad superior a la cantidad de días que especificó. Recuerde no cambiar el nombre ni mover la carpeta a otra ubicación. De lo contrario, la tarea fallará.


    Respuesta en video: Cómo eliminar archivos de más de X días automáticamente usando PowerShell

    10, 2021