Siempre abra archivos PDF desde una ruta con un programa no predeterminado

Mi aplicación PDF predeterminada es Vista previa. Ahora, tengo una carpeta (con subcarpetas) con archivos PDF que me gustaría tener que abrir todo el tiempo con otro programa. Entonces, básicamente, necesito poner un "Programa predeterminado" para una ruta restringida. Desafortunadamente, "Abrir siempre..." no es una opción (incluso si funcionara), porque los documentos en esta carpeta cambian con bastante frecuencia.

¿Alguien sabe si Automator o AppleScript me pueden ayudar con esto?

Respuestas (2)

¿Utiliza Finder para la gestión de archivos?

Arrastra el programa de tu elección a la barra de herramientas y suéltalo allí :

Agregar un archivo o una aplicación: Mantenga presionada la tecla Comando, luego arrastre el elemento a la barra de herramientas del Finder hasta que vea un signo más verde.

Ahora haga doble clic en un PDF para abrir el PDF aún en Vista previa.

Puede seleccionar sus otros archivos PDF y luego soltarlos en el icono de la barra de herramientas para el programa de su elección.


Usar una forma más de programación sería hacer un alias para

open -a YourAlternativePDFViwer.app 

Luego, escribe en la Terminal su alias, arrastra y suelta todos sus archivos PDF especiales en la Terminal. Luego, Terminal expande todas las rutas a sus archivos PDF y, al acceder a Entersu visor preferido, debería abrir todos esos archivos PDF.

Aún más fácil sería un alias que diga lo siguiente:

open -a YourAlternativePDFViwer.app /path/to/your/SpecialtyPDFS/*.pdf

Si se requiere más automatización, puede echar un vistazo a la Referencia de acciones de carpeta .

Para hacer doble clic AFAIK es uno u otro . Pero dependiendo de las características especiales del tipo de archivo, vale la pena echarle un vistazo a RCDefaultApp .

Si guarda el siguiente script en su carpeta /Usuarios/su nombre de usuario/Biblioteca/Flujos de trabajo/Aplicaciones/Acciones de carpeta, estará disponible para seleccionar en el diálogo de configuración de acciones de carpeta. Luego, cada vez que agregue un archivo PDF a la carpeta designada, establecerá la aplicación predeterminada en cualquier visor de PDF que haya asignado en el script.


Reorganicé un poco el guión para hacerlo un poco más universal. Ahora es más fácil modificar el código para que funcione con diferentes extensiones de archivo y diferentes aplicaciones, simplemente cambiando los valores de propiedad y dejando el cuerpo del script completamente intacto.

Esta versión apuntará SOLO A LOS PDF , sin importar qué tipo de archivo se agregue a la carpeta

property Default_App_To_Open_With1 : alias "Macintosh HD:Applications:Adobe Acrobat Reader DC.app:"
property Default_App_To_Open_With2 : alias "Macintosh HD:Applications:TextEdit.app:"
property Default_App_To_Open_With3 : alias "Macintosh HD:Applications:Preview.app:"

property Default_App : Default_App_To_Open_With2

property name_Extension : "pdf"

on adding folder items to this_folder after receiving dropped_items
    repeat with this_File in dropped_items
        tell application "System Events"
            if name extension of this_File is name_Extension then
                set default application of this_File to Default_App
            end if
        end tell
    end repeat
end adding folder items to
Por lo general, solo uso el valor predeterminado de macOS para los PDF, que por supuesto es Vista previa, sin embargo, tengo algunas carpetas diferentes en las que siempre he abierto los PDF en Skim, aunque manualmente. Acabo de implementar su solución en esas carpetas en particular, mientras estaba vacía y luego les volví a agregar los archivos PDF. ¡Buena respuesta! +1
Por cierto, recodifiqué el código en mi implementación de su respuesta, ya que cambió las marcas de fecha/hora y en el proceso descubrí que no necesita ninguno de los open for access ...códigos relacionados. set default application ...funciona por sí mismo sin nada de eso.
¿En realidad? Eso es extraño porque creo que la razón por la que puse "Abrir para acceso" y su código relacionado fue para intentar solucionar algunos errores que arrojaba el script. HMM... Supongo que era algo más que había cambiado lo que arrojaba los errores LOL gracias por el aviso. En realidad, ahora que lo pienso, creo que inicialmente tenía "Finder" tratando de configurar la aplicación predeterminada, en lugar de eventos del sistema... Si no recuerdo mal, "abrir para acceder" era parte del código inicial de "Finder". Estaba trabajando y parecía funcionar, así que dejé esa parte del código allí.
FWIW, así es como se ve mi controlador de acción de carpeta: paste.ee/p/VRZlX
Muy interesante... Mirando tu código, modifiqué un poco más el código en mi respuesta. Mantuve el valor de "Propiedad" y las tres versiones de las variables de pdfViewer. En caso de que a otros les gustaría usar este mismo script para diferentes carpetas, comentar y descomentar estos valores sería la forma más rápida de cambiar la aplicación predeterminada en el script. No estoy muy seguro de lo que se supone que debe hacer el "script de shell" de su versión. ¿Podría explicarlo, por favor?
Cuando originalmente configuré la acción de la carpeta con su código original, cambió la marca de fecha/hora de modificación en los archivos y no quiero que la marca de fecha/hora de modificación cambie desde la fecha de creación a menos que el contenido real del archivo cambie internamente, no los atributos xattr. Entonces, al usar GetFileInfo, obtengo la fecha de creación y luego uso SetFile para establecer la fecha de modificación en la fecha de creación, ya que eso es lo que eran antes de la acción de la carpeta. GetFileInfo y SetFile son parte de las herramientas de línea de comandos para Xcode.
Genial, muchas gracias!! ¡Hace casi exactamente lo que quiero! ¿Qué debo agregar al script para que se aplique no solo a la carpeta, sino también a sus (varias) subcarpetas?
en la aplicación Finder, simplemente controle + haga clic en cualquier carpeta, luego vaya al menú Servicios, luego verá la acción de la carpeta configurada ... Simplemente adjunte el script a tantas carpetas o subcarpetas como desee ... mientras está en Configuración de acción de carpeta