5 votos

¿Cómo dejo a AppleScript elegir cualquier tipo de archivo?

Estoy haciendo un script que facilita la encriptación de archivos y en la parte de inicio que tengo esto:

¿Cuando se pide un archivo, cualquier otra forma que puedo hacerlo pudiendo ser cualquier cosa? (Carpetas, imágenes...)

5voto

Pirooz Puntos 486

No se puede hacer

Las siguientes son maneras diferentes de símbolo del sistema de archivos. No hay manera, en el más puro Script de Apple, para pedir los Archivos o Carpetas al mismo tiempo.

Seleccione El Archivo:

set directory to POSIX path of (choose file with prompt "File Location:" default location (path to desktop))

Seleccione Los Archivos:

set directory to POSIX path of (choose file with prompt "File Location:" default location (path to desktop) with multiple selections allowed)

Seleccione La Carpeta:

set directory to POSIX path of (choose folder with prompt "File Location:" default location (path to desktop))

Seleccione Las 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:

Solicita un Tipo de Archivo Específico

Si el guión lo requiere tipos de archivos específicos para el procesamiento, puede utilizar el comando opcional de tipo de parámetro proporcionar una lista de los tipos aceptados. Los tipos pueden ser especificados como la extensión de las cadenas sin el periodo (tales como "jpg" o "png") o como el tipo de uniforme identificadores (como "público.imagen" o "com.apple.iwork.páginas.sffpages"). Listado de 26-3 y Listado de 26-4 mostrar cómo pedir una imagen.

Para Las 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: Mac Guía De Scripts De Automatización


El uso de AppleScriptObjC usted puede solicitar cualquiera de los Archivos o Carpetas. Ver esta respuesta (si los enlaces de respuesta ayudado, por favor upvote los enlaces de Q&A):

No, no se puede hacer con "elegir archivo" o "seleccionar carpeta" verbos, pero la elección de un archivo o carpeta (o varios archivos/carpetas) es compatible por el subyacente NSOpenPanel. Así que usted puede hacerlo con AppleScriptObjC. He aquí un ejemplo de uso de [ASObjCRunner][1] (derivados desde [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 AppleScript lista de files; los resultados pueden ser algo como:

{file "Macintosh HD:Users:nicholas:Desktop:fontconfig:", file "Macintosh HD:Users:nicholas:Desktop:form.pdf"}

[1]: http://www.macosxautomation.com/applescript/apps/runner.html
[2]: https://stackoverflow.com/questions/8125563/


Usted podría utilizar un cuadro de diálogo que pide al usuario seleccionar qué es 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, echa un vistazo a mi respuesta aquí una manera de cifrar los archivos con Apple y Script de Automator.

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