2 votos

cómo obtener la ruta de acceso para múltiples archivos correctamente a través de applescript o a través de la terminal

La secuencia de comandos actual que estoy usando para llegar de la ruta de archivo para la selección en el finder es

tell application "Finder"
    set thepath to selection as text
    set pospath to quoted form of the POSIX path of thepath
end tell

Me da una ruta como esta: '/Users/lawsome/Desktop/jan-study/untitled folder/'

Este formato de ruta de acceso está trabajando para pasar de una sola ruta de acceso de archivo para la acción futura, como mover o borrar el archivo seleccionado.

Cuando estoy tratando de la misma secuencia de comandos para varias selecciones en el finder me consigue el resultado como este:

'/Users/lawsome/Desktop/Business Org Feedback.pdfMacintosh HD/Users/lawsome/Desktop/Top 10Macintosh HD/Users/lawsome/Desktop/Follow_Up_letters_Samples.pdfMacintosh HD/Users/lawsome/Desktop/Learn Outlook Tips.txtMacintosh HD/Users/lawsome/Desktop/OutlookTips.pdf'

Este resultado no funciona para mí. Lo que estoy tratando de lograr es que se pasan varias rutas de acceso para determinados buscador de artículos para la acción futura.

Si yo arrastrar varios archivos en el terminal, se muestra la ruta de los archivos en un formato diferente y que trabaja para la acción futura. ¿Cómo puedo obtener la ruta de acceso correctamente a través de una secuencia de comandos o a través de una terminal de comandos.

4voto

user3439894 Puntos 5883

El selection en el Buscador devuelve una lista, así que aquí está un ejemplo de cómo me había de manejar las cosas:

Ejemplo de AppleScript código:

tell application "Finder"
    set theSelection to selection
    if theSelection is {} then
        return
    else if (theSelection count) is equal to 1 then
        set thePathFilename to the quoted form of POSIX path of (theSelection as string)
    else
        set thePathFilename to {}
        repeat with i from 1 to (theSelection count)
            copy (quoted form of POSIX path of (item i of theSelection as string)) & space to end of thePathFilename
        end repeat
        set thePathFilename to thePathFilename as string
    end if
end tell
  • Si no hay ninguna selection cuando el script se ejecuta, se detiene el procesamiento.

  • Si sólo un elemento es en el selection, thePathFilename contiene uno citado POSIX Ruta de acceso nombre de archivo del elemento seleccionado, como una cadena.

  • Si más de un elemento es en el selection, thePathFilename contiene el citado POSIX Ruta de acceso nombre de archivo de cada uno de los elementos seleccionados, como una cadena, con un espacio después de cada uno.


Nota: El ejemplo de AppleScript código es sólo eso y no emplea ningún error en el manejo y está destinado sólo para mostrar una de las muchas formas de realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar y/o el uso apropiado de manejo de errores como necesitaba/quería.

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