Automator: Filter Finder Elementi che selezionano file errati

1

Volevo un'azione della cartella Automator per rimuovere automaticamente i vecchi download dalla mia cartella dei download ogni volta che scaricavo un nuovo file (volevo evitare di fare di questo un lavoro programmato).

Il flusso di lavoro è simile al seguente:

Quando lo provo, funziona bene, selezionando solo i file più vecchi di 60 giorni. Tuttavia, quando effettivamente scarica un nuovo file nella cartella dei download, invia il nuovo file nel cestino.

Che cosa dà? La data / ora sul nuovo file non è corretta fino al termine del download o qualcosa del genere?

EDIT: ho scoperto che elimina il file che viene aggiunto alla cartella non importa quale . Significato: se trascino un nuovo file nella cartella, il flusso di lavoro lo elimina anche se il timestamp è da oggi.

    
posta Paul Wieland 06.09.2017 - 16:35
fonte

2 risposte

2

Ecco una soluzione per ignorare completamente Automator. Basta salvare questo script in Script Editor.App nella cartella / Users / your_shortname / Library / Workflows / Applications / Folder Actions. Una volta fatto ciò, lo script di azione della cartella sarà disponibile per la selezione nel menu di configurazione di Servizi / cartelle in Finder tramite il controllo + clic sulla cartella dei download

Questa è la versione se stai per usare 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

Se non ti senti a tuo agio con l'app Script Editor, nell'app Automator puoi aggiungere un'azione Esegui AppleScript e aggiungere il mio codice. Basta vedere lo screenshot qui sotto. Non dovrai preoccuparti del nuovo file scaricato che viene eliminato

Questa è la versione da utilizzare se si intende aggiungere un'azione AppleScript a un'azione della cartella del flusso di lavoro di Automator

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

    
risposta data 06.09.2017 - 17:47
fonte
2

Finder utilizza kMagicBusyCreationDate per i file attualmente in fase di download, ovvero 08:34:56 su 1946-02-14 (+0000).

Use this date as a file's or folder's creation date to indicate that it is temporarily busy (while it is being downloaded or installed, for example).

Qual è il significato di 1946-02-14 08:34:56?

Poiché questo è ben al di fuori dell'intervallo di date, il file viene rimosso immediatamente. Pertanto non è possibile utilizzare alcun controllo basato sulla data durante il download dei file.

    
risposta data 06.09.2017 - 18:23
fonte

Leggi altre domande sui tag