Estoy intentando construir un flujo de trabajo de Automator (que se guardará como un Servicio, para poder acceder a él desde menús contextuales e invocarlo con un atajo de teclado), que funcionará de manera similar al comando integrado "Mostrar contenido del paquete" del Finder, pero que además aceptará un alias de un paquete como entrada. El servicio cumplirá con lo siguiente:
Solo estará disponible cuando la selección del Finder consista en un paquete o un alias de un paquete.
En lugar de mostrar el contenido del directorio del paquete como lo hace el comando integrado, el Servicio mostrará el contenido del directorio "Contents" (si existe), ubicado inmediatamente dentro del directorio del paquete.
Si la selección del Finder es un paquete o un alias en el escritorio, el directorio Contents se abrirá en una nueva ventana del Finder. De lo contrario, el directorio Contents se abrirá en la ventana del Finder que contiene la selección.
Mi enfoque ha sido hacer que el script primero determine si el archivo es un Alias, y si lo es, indicar al script que muestre el contenido del original. Si el archivo no es un alias, me gustaría indicar al script que simplemente muestre el contenido de la entrada.
Excluyendo la posibilidad de un alias como entrada y asumiendo que el paquete de entrada está seleccionado en una ventana del Finder, puedo escribir con éxito un script que muestra el contenido de la carpeta de contenido del paquete en la misma ventana:
al correr {entrada, parámetros}
definir mi_salida como {}
repetir con unElemento en entrada
decir a la aplicación "Finder" que establezca el objetivo de la ventana 1 a ((unElemento como texto) & "Contents")
end repeat
devolver entrada
end correr
Cuando intento configurar un esquema "si...entonces...sino", falla.
Estoy utilizando las últimas versiones de todo el software relevante.
0 votos
Bienvenido, no te estamos ignorando, solo estamos esperando a alguien que pueda responder tu pregunta.
0 votos
Por favor, ¿puedes agregar un intento fallido de un if/then/else? Depurar por qué está fallando probablemente te llevará a una solución más rápida para ti.