No se puede hacer
Las siguientes son diferentes formas de solicitar archivos. No hay forma, en Apple Script puro , de solicitar Archivos o Carpetas al mismo tiempo.
Seleccionar archivo :
set directory to POSIX path of (choose file with prompt "File Location:" default location (path to desktop))
Seleccionar archivos :
set directory to POSIX path of (choose file with prompt "File Location:" default location (path to desktop) with multiple selections allowed)
Seleccionar carpeta :
set directory to POSIX path of (choose folder with prompt "File Location:" default location (path to desktop))
Seleccionar carpetas :
set directory to POSIX path of (choose folder with prompt "File Location:" default location (path to desktop) with multiple selections allowed)
Seleccionar tipos específicos de archivos:
Solicitando un tipo específico de archivo
Si su script requiere tipos específicos de archivos para procesar, usted
puede usar el parámetro de tipo opcional del comando Choose File para
proporcionar una lista de tipos aceptables. Los tipos pueden especificarse como
cadenas de extensión sin el período inicial (como "jpg" o "png")
o como identificadores de tipo uniformes (como "public.image" o
"com.apple.iwork.pages.sffpages"). Listado 26-3 y Listado 26-4 muestran
cómo solicitar una imagen.
Para imágenes:
set directory to POSIX path of (choose file of type {"public.image"} with prompt "File Location:" default location (path to desktop) with multiple selections allowed)
Fuentes: Guía de secuencias de comandos de automatización de Mac
Usando AppleScriptObjC puede solicitar Archivos o Carpetas. Consulte esta respuesta (si la respuesta vinculada ayudó, por favor, consulte las preguntas y respuestas A):
No, no puede hacerlo con los verbos "elegir archivo" o "elegir carpeta", pero
se admite la selección de una carpeta de archivos o (o varios archivos / carpetas)
por el NSOpenPanel
subyacente. Así que puedes hacerlo con
AppleScriptObjC. Aquí hay un ejemplo usando [ASObjCRunner] [1] (derivado
de [aquí] [2]):
script chooseFilesOrFolders
tell current application's NSOpenPanel's openPanel()
setTitle_("Choose Files or Folders") -- window title, default is "Open"
setPrompt_("Choose") -- button name, default is "Open"
setCanChooseFiles_(true)
setCanChooseDirectories_(true)
setAllowsMultipleSelection_(true) -- remove if you only want a single file/folder
get its runModal() as integer -- show the panel
if result is current application's NSFileHandlingPanelCancelButton then error number -128 -- cancelled
return URLs() as list
end tell
end script
tell application "ASObjC Runner"
activate
run the script {chooseFilesOrFolders} with response
end tell
ASObjCRunner convierte un NSArray
de NSURL
objetos en un
Lista de AppleScript de file
s; los resultados pueden verse algo así como:
{file "Macintosh HD:Users:nicholas:Desktop:fontconfig:", file "Macintosh HD:Users:nicholas:Desktop:form.pdf"}
[1]: enlace
[2]: enlace
Puede usar un cuadro de diálogo que solicite a un usuario que seleccione lo que desea cifrar.
display dialog "Select a type to Encrypt" buttons {"File(s)", "Folder(s)"}
set a to the button returned of the result
if a is "File(s)" then
set directory to POSIX path of (choose file with prompt "File Location:" default location (path to desktop) with multiple selections allowed)
else
set directory to POSIX path of (choose folder with prompt "File Location:" default location (path to desktop) with multiple selections allowed)
end if
Por último, revisa mi respuesta aquí para encontrar una forma de cifrar archivos con Apple Script y Automator.