Öffnen Sie PDFs immer von einem Pfad aus mit einem nicht standardmäßigen Programm

Meine Standard-PDF-App ist Vorschau. Jetzt habe ich einen Ordner (mit Unterordnern darin) mit PDFs, die ich ständig mit einem anderen Programm öffnen möchte. Also muss ich im Grunde ein "Standardprogramm" für einen eingeschränkten Pfad setzen. Leider ist das „Immer öffnen…“ keine Option (auch wenn es funktionieren würde), da sich die Dokumente in diesem Ordner ziemlich oft ändern.

Weiß jemand, ob Automator oder AppleScript mir dabei helfen können?

Antworten (2)

Verwenden Sie den Finder für die Dateiverwaltung?

Ziehen Sie das Programm Ihrer Wahl in die Symbolleiste und legen Sie es dort ab :

Datei oder App hinzufügen: Halte die Befehlstaste gedrückt und bewege das Objekt in die Finder-Symbolleiste, bis ein grünes Pluszeichen angezeigt wird.

Doppelklicken Sie jetzt auf ein PDF, um das PDF noch in der Vorschau zu öffnen.

Sie können Ihre anderen PDFs auswählen und sie dann auf dem Toolbar-Symbol für das Programm Ihrer Wahl ablegen.


Eine programmtechnischere Methode wäre, einen Alias ​​für zu erstellen

open -a YourAlternativePDFViwer.app 

Dann geben Sie im Terminal Ihren Alias ​​ein und ziehen alle Ihre speziellen PDFs per Drag & Drop auf das Terminal. Terminal erweitert dann alle Pfade zu Ihren PDFs und wenn Sie auf EnterIhren bevorzugten Viewer klicken, sollten alle diese PDFs geöffnet werden.

Noch einfacher wäre ein Alias, der wie folgt lautet:

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

Wenn mehr Automatisierung erforderlich ist, können Sie einen Blick in die Folder Actions Reference werfen .

Für einen Doppelklick auf AFAIK ist es entweder das eine oder das andere . Aber abhängig von speziellen Dateityp-Eigenschaften könnte RCDefaultApp einen Blick wert sein.

Wenn Sie das folgende Skript in Ihrem Ordner /Benutzer/Ihr Benutzername/Library/Workflows/Applications/Folder Actions speichern, steht es zur Auswahl im Dialogfeld zum Einrichten von Ordneraktionen zur Verfügung. Jedes Mal, wenn Sie dem angegebenen Ordner eine PDF-Datei hinzufügen, wird die Standardanwendung für den PDF-Viewer festgelegt, den Sie im Skript zugewiesen haben.


Ich habe das Skript ein wenig umgestaltet, um es etwas universeller zu machen. Jetzt ist es einfacher, den Code so anzupassen, dass er mit verschiedenen Dateierweiterungen und verschiedenen Anwendungen funktioniert, indem Sie einfach die Eigenschaftswerte ändern, während der Hauptteil des Skripts vollständig intakt bleibt.

Diese Version zielt NUR auf die PDFs ab , unabhängig davon, welche Art von Datei dem Ordner hinzugefügt wird

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
Normalerweise verwende ich nur die macOS-Standardeinstellung für PDFs, die natürlich Vorschau ist, aber ich habe ein paar verschiedene Ordner, in denen ich die PDFs immer in Skim geöffnet habe, wenn auch manuell. Ich habe Ihre Lösung gerade in diesen bestimmten Ordnern implementiert, während sie leer waren, und ihnen dann die PDFs wieder hinzugefügt. Gute Antwort! +1
Übrigens habe ich den Code in meiner Implementierung Ihrer Antwort neu codiert, da er die Datums- / Zeitstempel geändert hat und dabei festgestellt hat, dass Sie keinen der Codes open for access ...und verwandten Codes benötigen. set default application ...funktioniert von alleine ohne sowas.
Wirklich? Das ist seltsam, denn ich glaube, der Grund, warum ich „Open For Access“ und den zugehörigen Code eingefügt habe, war ein Versuch, Fehler zu beheben, einige Fehler, die das Skript auslöste. HMM … Ich denke, es war etwas anderes, das ich geändert hatte, was die Fehler ausgegeben hat. LOL, danke für die Warnung. Jetzt, wo ich darüber nachdenke, glaube ich, dass ich anfangs "Finder" hatte, der versuchte, die Standardanwendung einzustellen, anstelle von Systemereignissen ... Wenn ich mich richtig erinnere, war "Für Zugriff öffnen" Teil des ursprünglichen "Finder" -Codes Ich habe daran gearbeitet, und es schien zu funktionieren, also habe ich diesen Teil des Codes einfach dort gelassen
FWIW, so sieht mein Ordneraktionshandler aus: paste.ee/p/VRZlX
Sehr interessant ... Wenn ich mir Ihren Code ansehe, habe ich den Code in meiner Antwort etwas weiter optimiert. Ich habe den „Property“-Wert und die drei Versionen der pdfViewer-Variablen beibehalten. Für den Fall, dass andere dasselbe Skript für verschiedene Ordner verwenden möchten, wäre das Kommentieren und Kommentieren dieser Werte der schnellste Weg, um die Standardanwendung im Skript zu ändern. Ich bin mir nicht ganz sicher, was das "Do-Shell-Skript" Ihrer Version tun soll. Könnten Sie das bitte näher erläutern?
Als ich die Ordneraktion ursprünglich mit Ihrem ursprünglichen Code eingerichtet habe, hat sie den Datums-/Zeitstempel der Änderung in den Dateien geändert, und ich möchte nicht, dass der Datums-/Zeitstempel der Änderung vom Erstellungsdatum geändert wird, es sei denn, der tatsächliche Inhalt der Datei ändert sich intern, nicht die xattr-Attribute. Mit GetFileInfo erhalte ich also das Erstellungsdatum und setze dann mit SetFile das Änderungsdatum auf das Erstellungsdatum, da es vor der Ordneraktion so war. GetFileInfo und SetFile sind Teil der Befehlszeilentools für Xcode.
Klasse, vielen Dank!! Es macht fast genau das, was ich will! Was muss ich dem Skript hinzufügen, damit es nicht nur für den Ordner gilt, sondern auch für seine (mehreren) Unterordner?
in der Finder-App, steuern Sie einfach + klicken Sie auf einen beliebigen Ordner, gehen Sie dann zum Menü Dienste, dann sehen Sie, dass die Ordneraktion eingerichtet ist ... Hängen Sie das Skript einfach an so viele Ordner oder Unterordner an, wie Sie möchten ... während Sie drin sind Ordneraktion eingerichtet