Ich versuche, alle PDFs in einem Ordner vom Terminal aus zu öffnen.
Wenn ich es tue
open *.pdf
Vorschau (meine Standard-PDF-Anwendung), öffnet nur eine davon.
Gibt es eine Möglichkeit, die Vorschau dazu zu bringen, alle zu öffnen?
Wenn nicht, welcher andere PDF-Viewer eignet sich dafür gut?
Danke!
Ausführen von Sierra 10.12.6 auf einem MB Pro.
Wenn Sie nur eine Liste von PDFs auf einmal öffnen möchten, müssen Sie die Dateinamen (in Anführungszeichen eingeschlossen) wie folgt durch ein Leerzeichen trennen:
open "file1.pdf" "file2.pdf" ... "fileN.pdf"
Dadurch wird jedes in einer Zeile angegebene PDF geöffnet.
Wenn Sie jedes PDF in einem bestimmten Verzeichnis öffnen möchten, verwenden Sie den Befehl (einfache for/do-Schleife):
for file in /Path_to_Directory/*.pdf; do open "${file}"; done
Beide obigen Beispiele verwenden die mit der Datei verknüpfte Standard-App (Vorschau). Wenn Sie eine bestimmte App angeben-a
möchten (vielleicht haben Sie einen anderen PDF-Viewer, möchten aber die Vorschau verwenden), verwenden Sie das Flag und geben Sie die App an:
for file in /Path_to_Directory/*.pdf; do open -a Preview.app "${file}"; done
Hinweis: Stellen Sie sicher, dass Sie den Variablennamen in Anführungszeichen (") setzen, um Leerzeichen und nicht druckbare Zeichen zu berücksichtigen. Wenn Sie beispielsweise eine Datei mit dem Namen "Meine PDF-Datei.pdf" haben, führt das Weglassen der Anführungszeichen dazu, dass der Befehl dies tut Versuchen Sie, jede Zeichenfolge ("My", "PDF" und "File") als separate Dateien zu öffnen.
open "file1.pdf" "file2.pdf" is exactly the same as
öffne file*.pdf`Die Manpage füropen
in Sierra sagt immer noch:
You can specify one or more file names (or pathnames), which are inter-
preted relative to the shell or Terminal window's current working direc-
tory. For example, the following command would open all Word files in the
current working directory:
open *.doc
Opened applications inherit environment variables just as if you had
launched the application directly through its full path. This behavior
was also present in Tiger.
Das heißt, Ihr erster Ansatz ist in der Regel auch der richtige. Das ist "normalerweise" wie in: Dieser open
Befehl ist fehlerhaft (und die Vorschau ist auch fehlerhaft).
Wenn Ihre PDFs 'richtige' Dateinamen haben, dann ist alles gut und in einem Verzeichnis mit 20 PDFs werden alle PDFs so geöffnet, wie es die Manpage verspricht.
Wenn es jedoch „komische“ Dateinamen gibt, die auf HFS+ legal erlaubt sind (oder auf dem Dateisystem anders dargestellt werden), aber dafür bekannt sind, dass sie in einer Shell-Umgebung „schwierig“ sind, treten Probleme auf.
Die Globbing-Funktion für open ist defekt. Wenn beispielsweise ein Dateiname mit -
(Minuszeichen) beginnt, wird das nächste Zeichen als weitere Option für den open
Befehl interpretiert. Da für den Befehl nicht viele Optionen zur Verfügung stehen, open
führt dies häufig zu einem Fehler. Leerzeichen in Dateinamen, alles, was in einem normalen Shell-Befehl maskiert werden müsste, scheinen für diesen Befehl beunruhigend zu sein.
Andere zu beobachtende Fehler sind, dass die Verwendung der Option open -a Preview.app
nicht wie erwartet funktioniert. Außerdem scheint die Vorschau Ihre Einstellungen nicht zu berücksichtigen, ob neu geöffnete Dokumente alle ein eigenes Fenster erhalten sollen. Die Vorschau öffnet mehrere PDFs mit einem einfachen, open *.pdf
aber alle diese Dokumente werden dann in der Seitenleiste eines einzelnen freigegebenen Fensters „versteckt“. Sie müssen dann auf die Dreiecke klicken, um anzuzeigen, dass jetzt mehrere Dateien geöffnet sind .
Eine Reihe von Dateien mit sauberen Namen in einem einzigen Arbeitsverzeichnis, auf das über open *.pdf
Preview.app als Standard-PDF-Viewer zugegriffen wird, öffnet sie alle (nun, ich habe keine wahrscheinliche Obergrenze dafür überprüft …)
Damit bleiben nun folgende Optionen:
open -a Preview.app
open *.pdf
. Jetzt öffnet es sie in mehreren Fenstern. Wird aber open *.jpg
in einem einzigen Fenster geöffnet.
lhf
Patrick
CD
open *.jpg