¿Applescript para mover archivos recientemente agregados (no creados o modificados) a otra carpeta?

2

Me gustaría obtener un archivo pdf descargado recientemente (!: corresponde al método de clasificación del Buscador Date Added , no a Date Created ni a Date Modified ) y simplemente me mudo a otra carpeta (si se usa simple AppleScript) o pídale al usuario que realice esta acción (si usa FolderActions).

Por lo tanto, la idea es mover algunos nuevos archivos pdf descargados a otra ubicación.

¿Es posible con AppleScript o con FolderActions o de cualquier manera? ¿Hay ejemplos para eso?

    
pregunta static 24.12.2013 - 05:11

3 respuestas

1

La respuesta depende de la versión de OSX que estés ejecutando.

Snow Leopard no parece almacenar la Fecha de creación o la Fecha de creación de los archivos.

$ 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

Para Lion y más adelante, Google reveló un par de formas:

Prueba el siguiente código tomado de

enlace

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

También puede ver el código que usa la herramienta de línea de comando mdls como se muestra aquí

enlace

Lamentablemente, estoy ejecutando Snow Leopard y no puedo probar lo anterior.

    
respondido por el Vic 05.05.2014 - 21:03
0

Los objetos del Finder y del archivo de eventos del sistema solo tienen propiedades date modified y date created a partir de 10.9.

Puede usar mdfind en su lugar:

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

    
respondido por el user495470 07.05.2014 - 18:13
0

AppleScript - Eliminar archivos agregados hace 5 minutos

Al elaborar la respuesta de Lri, puede crear un script que tome los archivos que se descargaron hace 5 minutos y moverlos a la papelera con un script como este (usando Date Added en 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
    
respondido por el Jonathan Komar 11.07.2014 - 11:45

Lea otras preguntas en las etiquetas