1 votos

Buscar una carpeta con applescript

Estoy tratando de hacer una carpeta para ir en un servidor, que la gente puede agregar fotos a y luego el script los envía al lugar correcto, sin embargo estoy teniendo problemas con la parte de búsqueda.

Como puedes ver a continuación en mi código, la parte en la que encuentra a dónde enviar la carpeta está comentada, porque no tengo ni idea de cuál es la sintaxis para ello.

Cualquier ayuda será muy apreciada.

global theWatchedFolder
set theWatchedFolder to choose folder
on idle
tell application "Finder"
set theDetectedItems to every item of theWatchedFolder
repeat with aDetectedItem in theDetectedItems
    set jobNumber to display dialog "Please enter the job number for this photo." buttons {"Submit", "Cancel"}
    display dialog "File detected: " & jobNumber
    --tell finder
    -- search for jobNumber in (path to desktop)
    --set jobFolder to top search result
    --end tell
    --set colourFolder to jobfolder & /colour
    move aDetectedItem to the desktop --move to colourFolder
end repeat
end tell
if theDetectedItems is not {} then
activate
display dialog "test move complete"
end if
return 1
end idle

Además, me preocupa que si este script está en el servidor, vigilando una carpeta en el servidor, entonces no creará una ventana emergente para cualquiera que añada un archivo a la carpeta en el servidor. Ojalá me equivoque, pero si alguien puede confirmarlo de una u otra manera, sería genial. Gracias :)

1voto

SPRBRN Puntos 1008

Para los archivos/carpetas locales

puedes utilizar las herramientas de línea de comandos de Spotlight. En la Terminal

$ mdfind -onlyin ~/ "kMDItemDisplayName == 'xyz*' && kMDItemKind == 'Folder'"

le dará todo carpetas cuyo nombre comienza con xyz con la búsqueda a partir de su carpeta de inicio ~/ . Eliminar * en xyz* arriba para encontrar una coincidencia exacta. Para más información sobre mdfind leer la página man con el comando man mdfind en la aplicación Terminal.

Puedes usarlo en tu script así...

set res to (do shell script "mdfind -onlyin ~/ \"kMDItemDisplayName == 'xyz' && kMDItemKind == 'Folder'\"")    
set fList to (every paragraph of res) as list    
log "Count:" & (get count of fList)

Para los archivos remotos

que spotlight no conoce, puede utilizar el buen y viejo UNIX find comando.

$ find ~/ -iname "xyz" -type d

Puedes utilizarlo en tu script de la misma manera que mdfind pero puede ser un poco más lento.

Espero que eso haya ayudado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X