これがapplescriptソリューションです。これにより、プレビューアプリで開いているファイルの完全なリスト(フルパスを含む)が表示されます。
また、AppleScriptの達人がこの答えに出くわした場合、あなたが提供しなければならない建設的な批判に感謝します。:)
set text item delimiters to "\n"
set myList to {}
tell application "Preview"
set theDocs to get documents
repeat with eachDoc in theDocs
set thePath to path of eachDoc
copy thePath to end of myList
end repeat
end tell
set the_list to myList as text
tell application "Finder"
set myFile to "/Users/YourName/YourFolder/FileName.txt"
do shell script "date >> " & myFile
do shell script "echo " & quoted form of the_list & " >> " & myFile
end tell
これにより、現在の日付と、プレビューで開いているすべてのドキュメントのリストが印刷されます。日付を省略したい場合は、次の行を削除します。
do shell script "date >> " & myFile
次の行に正しい情報を入力してください。
set myFile to "/Users/YourName/YourFolder/FileName.txt"
ファイル名に日付スタンプを追加する場合は、tell application "Finder"
ブロックの下に次の行を追加します
set time_stamp to (do shell script "date \"+%m-%d-%y\"")
set myFile to "/Users/YourName/YourFolder/PreviewProfile_" & time_stamp & ".txt"
端末date
コマンドには、さまざまな形式があります。利用可能なさまざまなオプションについて読むには、ターミナルを開いてを入力しman strftime
ます。
少し遊んだ後、このスクリプトをさらに簡略化できることに気付きました。これは、オリジナルからのいくつかの不必要な手順を回避する、より合理化されたバージョンです。しかし、結果はどちらの方法でも同じです。
set text item delimiters to "\n"
tell application "Preview"
set theDocs to get path of every document as text
tell application "Finder"
set time_stamp to (do shell script "date \"+%m-%d-%y\"")
set myFile to "/Users/YourName/YourFolder/PreviewProfile_" & time_stamp & ".txt"
do shell script "echo " & quoted form of theDocs & " >> " & myFile
end tell
end tell
使いやすくするために、このスクリプトをAutomatorサービスとして保存して、任意のアプリケーションでの作業中に使用できます。これを行うには、Automatorを開くだけです- [ファイル ]メニューから[ 新規 ]を選択するか、キーボードから⌘Nを選択します。次に、表示された選択肢からサービスを選択します。ドキュメントが開いたら、左端の列で[ ユーティリティ]を選択します。次に、その右側の列で「AppleScriptを実行」を選択します。表示されるボックスにこのスクリプトを貼り付けます。ページの上部にあるドロップダウンの選択肢で、[ サービスは入力を受け取らず、どのアプリケーションでも]を選択します。その後、ファイルを選択して名前を付け、ファイルを保存すると、サービスメニューでいつでも使用できるサービスが必要になります。
更新
作成したファイルのリストを読み取って開く方法を次に示します。これにより、リスト内のすべてのファイルを開く必要がなくても、開くファイルを選択できます。
tell application "Finder"
set file_list to {}
set my_files to paragraphs of (read "/Users/YourName/path/to/YourFile")
repeat with nextLine in my_files
if length of nextLine is greater than 0 then
copy nextLine to the end of file_list
end if
end repeat
choose from list file_list with multiple selections allowed
set chosen_Files to the result
repeat with next_file in chosen_Files
do shell script "open " & next_file
end repeat
end tell
それが役に立てば幸い。問題があれば教えてください。