4 votos

Seleccionar archivo desde la línea de comandos

¿Es posible lanzar Finder desde la línea de comandos para realizar una acción de selección de archivos?

El propósito de esto sería que el usuario final, al ejecutar un shell script, sea capaz de seleccionar un archivo usando una GUI en lugar de escribir la ruta y el nombre del archivo.

1 votos

¿Qué tal si open path/to/dir -a Finder y luego dejar que el usuario arrastre y suelte el archivo o utilizar ls si no quieres GUI.. ?

0 votos

el open path/to/dir -a Finder es una buena idea. Estoy escribiendo algunos scripts para un usuario no técnico y tener una selección de archivos GUI sería extremadamente útil si es incluso posible.

4voto

JYC Puntos 1

Puede lanzar GUI Dialog para seleccionar un archivo en shell script con el siguiente código:

theSelectedFile="$(osascript -l JavaScript -e 'a=Application.currentApplication();a.includeStandardAdditions=true;a.chooseFile({withPrompt:"Please select a file to process:"}).toString()')"

echo "Selected file: $theSelectedFile"

Puede personalizar el título de la ventana: véase withPrompt atributo

2voto

Douglas Puntos 10417

¿Es posible lanzar Finder desde la línea de comandos para realizar una acción de selección de archivos?

Hay cierta confusión sobre Finder y lo que es/hace. No se "lanza" el Finder en el sentido convencional. Siempre se está ejecutando. Es el gráfico interfaz a través de la cual usted interactúa con su sistema Mac. Puedes abrir un archivo con las herramientas de selección de archivos del Finder o ver su contenido con Vista Previa, etc.

Conoce el Finder de tu Mac

El propósito de esto sería que el usuario final, al ejecutar un shell script, sea capaz de seleccionar un archivo usando una GUI en lugar de escribir la ruta y el nombre del archivo.

Ir y venir entre una interfaz gráfica de usuario y un entorno de texto es ineficiente. ¿Por qué empezar a escribir un comando en un entorno de texto, luego cambiar a una GUI para obtener su archivo, y luego volver a cambiar a texto? En su lugar, se crea el Cuadro de diálogo de selección de archivos allí mismo, en el entorno del texto.

Hay una herramienta llamada dialog disponible en MacPorts y en Homebrew que le permite crear cuadros de diálogo y de selección de archivos en su entorno de texto. A continuación se muestra un ejemplo del cuadro de selección de archivos del deletefile.sh script (similar a lo que has descrito).

FSelect Dialog Box

Para ver más ejemplos de los diferentes cuadros de diálogo que puede crear, consulte: https://invisible-island.net/dialog/dialog-figures.html

0 votos

Aunque cambiar entre aplicaciones de texto y aplicaciones gui es ineficiente, tiene sentido para un script que está siendo escrito para un usuario no técnico que tiene poca o ninguna experiencia con interfaces de línea de comandos. Agradezco el contexto añadido y la lista de widgets. Los comprobaré.

0 votos

Creo que hay algunos en "Oh My ZSH" ( o disponibles como plugins). Yo no uso esa herramienta personalmente, pero puede que te topes con ella en tus viajes.

0voto

ivyliner Puntos 1

tselect

Mi pequeño swift cli tselect (archivo de selección de terminal) puede satisfacer su necesidad.

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