Applescript per spostare i file aggiunti di recente (non creati o modificati) in un'altra cartella?

2

Vorrei ottenere un file pdf scaricato correttamente (!: corrisponde al metodo di ordinamento del Finder Date Added , non Date CreatedDate Modified ) e semplicemente spostandoci l'uno sull'altro (se si utilizza semplicemente AppleScript) o chiedere all'utente di eseguire questa azione (se si utilizza FolderActions).

Quindi l'idea è di spostare alcuni nuovi file pdf scaricati in un'altra posizione.

È possibile con AppleScript o con FolderActions o comunque? Ci sono degli esempi per questo?

    
posta static 24.12.2013 - 05:11
fonte

3 risposte

1

La risposta dipende dalla versione di OSX in esecuzione.

Snow Leopard non sembra memorizzare Data di inserimento o Data di creazione dei file.

$ stat -x testfile 
  File: "testfile"
  Size: 7            FileType: Regular File
  Mode: (0644/-rw-r--r--)         Uid: (  501/ vic)  Gid: (   20/   staff)
Device: 14,2   Inode: 12130091    Links: 1
Access: Mon May  5 21:49:18 2014
Modify: Mon May  5 21:49:15 2014
Change: Mon May  5 21:49:15 2014

Per Lion e in seguito, ci sono un paio di modi in cui Google ha rivelato:

Prova il seguente codice preso da

link

tell application "Finder"
    set latestFile to item 1 of (sort (get files of (path to downloads folder)) by creation date) as alias
    set fileName to latestFile's name
    log "Created/Added Date: " & (get creation date of latestFile)
end tell

In alternativa, dai un'occhiata al codice che usa lo strumento della riga di comando mdls come mostrato qui

link

Purtroppo eseguo Snow Leopard e non riesco a testare quanto sopra.

    
risposta data 05.05.2014 - 21:03
fonte
0

Gli oggetti file Finder e System Events hanno solo date modified e date created proprietà a partire da 10.9.

Potresti usare mdfind invece:

mdfind -onlyin ~/Downloads 'kMDItemDateAdded>$time.now(-86400)&&kMDItemFSName="*.pdf"c'|while read f;do mv "$f" ~/Desktop;done

    
risposta data 07.05.2014 - 18:13
fonte
0

AppleScript - Rimuovi i file aggiunti 5 minuti fa

Elaborando la risposta di Lri, puoi creare uno script che preleva i file scaricati 5 minuti fa e spostarli nel cestino con uno script come questo (utilizzando l'ordinamento Data aggiunta nel Finder):

set dirSel to path to downloads folder
set timeInterval to -5 * 60 -- 1 measured in milliseconds e.g. -1*60 = 1 minute ago
-- 5 minutes ago = -5 * 60
set filteredList to {}
-- Get current user's name
tell application "System Events"
    set currentUser to (name of current user)
end tell

-- Check downloads folder and move files to the trash that are older than N minutes.
set locateDateAdded to "mdfind -onlyin " & quoted form of POSIX path of dirSel & " 'kMDItemDateAdded>$time.now(" & timeInterval & ")&&kMDItemFSName=\"*.*\"c'"
set filteredItemsOutput to do shell script locateDateAdded

tell application "Finder"
    repeat with itemStep from 1 to count of paragraphs of filteredItemsOutput
        set thisItem to paragraph itemStep of filteredItemsOutput
        set end of filteredList to POSIX file thisItem as alias
    end repeat
end tell

if (count of filteredList) is greater than 0 then
    tell application "Finder"
        display dialog "Would you like to move " & (count of filteredList) & " items to the trash?" & "
" & filteredItemsOutput
        try
            delete every item of filteredList
        end try
    end tell
else
    display dialog "No files meeting the criteria were found."
end if
    
risposta data 11.07.2014 - 11:45
fonte

Leggi altre domande sui tag