Automator: Filtre los elementos del buscador seleccionando archivos incorrectos

1

Quería que una acción de carpeta de Automator elimine automáticamente las descargas antiguas de mi carpeta de descargas cada vez que descargo un archivo nuevo (quería evitar que esto sea un trabajo programado).

El flujo de trabajo se ve así:

Cuando lo pruebo, funciona bien, seleccionando solo archivos con más de 60 días. Sin embargo, cuando descargo un nuevo archivo a la carpeta de descargas, este envía el nuevo archivo a la papelera.

¿Qué da? ¿La marca de tiempo en el nuevo archivo no es correcta hasta después de que finalice la descarga o algo así?

EDITAR: descubrí que elimina el archivo que se agrega a la carpeta sin importar qué . Significado: si arrastro y suelto un nuevo archivo en la carpeta, el flujo de trabajo lo elimina aunque la marca de tiempo sea de hoy.

    
pregunta Paul Wieland 06.09.2017 - 16:35

2 respuestas

2

Aquí hay una solución para omitir Automator completamente. Simplemente guarde esta secuencia de comandos en el Editor de secuencias de comandos. Aplique a la carpeta / Users / your_shortname / Library / Workflows / Applications / Folder Actions. Una vez que lo haga, ese script de acción de carpeta estará disponible para elegir en el menú de configuración de Servicios / Acciones de carpeta en el Finder por control y haga clic en la carpeta de descargas

Esta es la versión si va a utilizar Script Editor.app

on adding folder items to this_folder after receiving these_items
    tell application "Finder"
        set nameExtensionz to {"download"}
        set deleteFilez to items of (path to downloads folder) whose creation date < ((current date) - (days * 60)) and (name extension) is not in nameExtensionz
        delete deleteFilez
    end tell
end adding folder items to

Si no te sientes cómodo con la aplicación Script Editor, en la aplicación Automator puedes agregar una acción de AppleScript y agregar mi código. Basta con ver la captura de pantalla a continuación. No tendrá que preocuparse por la eliminación del nuevo archivo descargado

Esta es la versión que se usará si va a agregar una acción de AppleScript a una acción de carpeta de Automator Workflow

tell application "Finder"
        set nameExtensionz to {"download"}
        set deleteFilez to items of (path to downloads folder) whose creation date < ((current date) - (days * 60)) and (name extension) is not in nameExtensionz
        delete deleteFilez
end tell

    
respondido por el wch1zpink 06.09.2017 - 17:47
2

Finder utiliza el kMagicBusyCreationDate para los archivos que se descargan actualmente, que es 08:34:56 en 1946-02-14 (+0000).

  

Use esta fecha como la fecha de creación de un archivo o carpeta para indicar que está ocupada temporalmente (por ejemplo, mientras se está descargando o instalando).

¿Cuál es el significado de 1946-02-14 08:34:56?

Como esto está fuera de su rango de fechas, el archivo se elimina inmediatamente. Por lo tanto, no puede utilizar ninguna verificación basada en la fecha mientras se descargan los archivos.

    
respondido por el grg 06.09.2017 - 18:23

Lea otras preguntas en las etiquetas