現在開いているファイルをアプリケーションで直接削除しますか?


4

アプリケーション内で現在開いているファイルの名前を変更または移動するOS Xの機能は、本当に便利です。

ここに画像の説明を入力してください

さらに一歩進めるために、アプリ内の現在のファイルを実際に削除するトリックもありますか?(明らかに、ファイルの「クローズ」はプロセスの後半である必要があります。)

ファイルを閉じてFinderで手動で見つけてゴミ箱に移動する必要がないため、多くの時間を節約できますが、その場で削除するだけです。

「ファイル」(ウィンドウタイトルのファイル名の左側にあるファイルアイコン)をDockのゴミ箱アイコンにドラッグしようとしましたが、実際にはゴミ箱に移動しません。

考えられる最善の方法は~/.Trash、Finderのお気に入りにディレクトリを項目として追加し、上のスクリーンショットの「Where」を作成した「Trash」お気に入りのショートカットに変更し、Cmd+ Wを押して閉じることです。

少し不格好ですが、悪くはありません。

上記のプロセスをより速くするために、気の利いたAutomatorワークフロー/ AppleScript(ホットキーに簡単に割り当てることができます)がありますか?現在のファイルを「ごみ箱」ディレクトリに移動するステップと、200msのギャップの後の後続のCmd + Wキーを押すステップの両方を実行できる単一のAppleScriptが理想的です。

回答:


1

私はこのAppleScriptを使用します。

tell application (path to frontmost application as text)
    set f to POSIX file (path of document 1) as text
    close document 1
end tell
tell application "Finder" to move f to trash

さらにいくつかのアプリケーションで動作するハッカーバージョン:

try
    tell document 1 of application (path to frontmost application as text)
        set f to path
        close
    end tell
on error
    tell application "System Events" to tell (process 1 whose frontmost is true)
        value of attribute "AXDocument" of window 1
        set f to do shell script "x=" & quoted form of result & ";x=${x/#file:\\/\\/};x=${x/#localhost/};printf ${x//%/\\\\x}"
        keystroke "w" using command down
    end tell
end try
POSIX file f
tell application "Finder" to move result to trash

少なくともmacOS High Sierraでは、もう動作していないようです。このAppleScriptが今でも有効であるためにどのように見えるべきか知っていますか?
ミチャウKalinowski

0

AutomatorサービスでこのAppleScriptを試してください(任意のサービスにホットキーを割り当てることができます)。

on run
    set x to path to frontmost application as string
    tell application x to if exists document 1 then
        try
            try
                set p to path of front document -- some app use --> path of document
                p
            on error
                set p to file of front document -- some app use -->  file of document
            end try
            my moveToTrash(p)
            close front document
        on error
            my speakText("can't delete this document")
        end try
    else
        my speakText("You have no open document in that application")
    end if
end run

on moveToTrash(p)
    if p starts with "/" then -- some app return posix path
        set tFile to p as POSIX file as alias
    else -- some app return HFS path
        set tFile to p as alias
    end if
    tell application "Finder" to delete tFile
end moveToTrash

on speakText(t)
    say t
end speakText

これらのアプリケーション(「BBEdit」、「TextWrangler」、「TextEdit」、「Preview」、「QuickTime Player」、「Pages」、「Numbers」、「Keynote」、「Automator」、「AppleScript Editor」、「 MavericksのXcode "

このスクリプトは、一部のアップル以外のアプリケーションでは動作しません。

キーストロークの組み合わせを新しく作成したサービスに割り当てるには:

[システム環境設定]アプリケーションを開き、[キーボード]環境設定ペインに移動して、[ショートカット]タブを選択します。設定ペインの左側にあるリストから、サービスカテゴリを選択します。インストールされたサービスのリストが右側に表示されます。Generalというタイトルの最後のカテゴリまでスクロールし、作成したサービスを見つけます。サービス名の右端をダブルクリックしてキーストローク入力フィールドをアクティブにし、サービスに割り当てるキーの組み合わせを入力します。システム環境設定アプリケーションを閉じます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.