Mac: エイリアス、シンボリックリンク、その他のアイデアを使用して元のファイルを削除する方法

Mac: エイリアス、シンボリックリンク、その他のアイデアを使用して元のファイルを削除する方法

私のMacには起動するたびにファイルを作成し続けるアプリがいくつかあります

現時点では、手動で削除するには宛先ディレクトリに移動する必要があります。つまり、それらの場所などを覚えておく必要があります。

フォルダー内のすべてのファイルへのリンクを作成して、そのフォルダーにアクセスし、リンクを削除するとリンクされたファイルが消去されるようにする方法はありますか?

理想的なシナリオでは、実際に作成したリンクはそのまま残り、リンク先のファイルのみが削除される必要があります。

ただし、上記のいずれかが可能かどうかはわかりません。

ありがとう、P。

答え1

求めていることを正確に行う方法はありませんが、それに近い方法がいくつかあります。1 つの方法は、ファイルのエイリアスのフォルダーを作成し、Finder でそれらを 1 つずつ選択して、Command- R(元のファイルを表示)、Command- Delete(削除)、Command- [(エイリアスのフォルダーに戻る) と入力し、次のエイリアスを選択して、これを繰り返します。想像していたよりも少し手間がかかりますが (特にファイルが多い場合)、手動で検索して削除するよりも簡単です。

もう 1 つのオプションは、一度にすべてを削除するスクリプトを作成することです。AppleScript またはシェル スクリプトで実行できますが、この特定のタスクでは Automator が最も簡単でしょう。Automator (アプリケーション フォルダ内) を実行し、「アプリケーション」テンプレートを選択します。次に、2 番目の列で「指定された Finder 項目を取得」アクションを見つけ (上部に検索フィールドがあり、リスト全体をスクロールするよりもはるかに簡単です)、そのアクションを右側のワークフロー列にドラッグします。同様に、「Finder 項目をゴミ箱に移動」アクションを見つけ、それを「取得...」アクションの下のワークフローに追加します。「取得...」アクションで [追加] をクリックし、削除する必要のあるさまざまなファイルを追加します。ワークフロー (/アプリケーション) を便利な場所に保存します。これを使用するには、ワークフローをダブルクリックするだけで、ファイルが消えます。

答え2

Cプログラムを使うことができます真名を取得するMac OSのエイリアスで参照される実際の場所を取得します。これをコンパイルして、次のように$PATH記述します。

rm -r "$(getTrueName "$locationOfAlias")"

元のファイルを削除します。エイリアスは残りますが、壊れてしまいます。ただし、エイリアスがフォルダを指していて、元のファイルと同じ名前と場所のフォルダが再作成された場合、エイリアスは私のシステム (Mac OS X 10.10.5) 上で再びそのフォルダを指し始めますが、これがどれほど信頼できるか、またこれがファイルや他のものに当てはまるかどうかはわかりません。例:

~$ cd /tmp
/tmp$ mkdir foo
/tmp$ test -d foo
/tmp$ echo $?
0
/tmp$ # manually created alias of foo called 'foo alias' in finder
/tmp$ getTrueName 'foo alias'
/private/tmp/foo/
/tmp$ rm -r "$(getTrueName 'foo alias')"
/tmp$ test -d foo
/tmp$ echo $?
1
/tmp$ getTrueName 'foo alias'
/tmp$ mkdir foo
/tmp$ getTrueName 'foo alias'
/private/tmp/foo/

関連情報