免責事項/警告
通常、非表示のファイルは非表示になっています。以下のスクリプトは、自分が何をしているかを十分に理解している場合にのみ使用してください。つまり、隠しファイルをランダムに削除してシステムを破壊した場合、それはあなた自身の責任です。
Finder内の隠しファイルの表示/非表示を切り替えるために使用するスクリプトを次に示します。
(オープン/保存ダイアログで隠しファイルを切り替えるOSXネイティブショートカットは、すでに上記のMateusz Szlosekによって言及されました)
私のスクリプトと私が今まで見た他のスクリプトとの違い:
ほとんどのスクリプトは、Finderを終了した後、他に何もしません。通常、自動Finderの再起動では最後のアクティブフォルダーが確実に開かれないため、元のフォルダーに戻る必要があります。
代わりに、以下のスクリプトは、最後にアクティブになったフォルダー、つまりトグルを使用していたが隠しファイルを表示する(または表示しない)フォルダーに再び開き、フォーカスを当てます。
ショートカット(cmd + shift +。)を割り当てたので、Finderで隠しファイルを操作する方がずっと便利になりました。
私が「最後のフォルダーを再度開く」機能を追加するようになったのは、少し前にこのサイトにスクリプトを投稿したTetsujinの功績です。
on run {input, parameters}
tell application "Finder"
set var1 to POSIX path of (target of window 1 as alias)
end tell
set newHiddenVisiblesState to "YES"
set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
if oldHiddenVisiblesState is in {"1", "YES"} then
set newHiddenVisiblesState to "NO"
end if
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
---- Sleep hack mentioned below. 0.5s minimum, 1-2s safer. Ugly, but (probably) unavoidable.
do shell script "killall Finder; sleep 0.5s"
tell application "Finder"
---- Close other windows if Finder managed to relaunch already
if application "Finder" is running then
close every window
end if
open (var1 as POSIX file)
activate
end tell
end run
スクリプトを使用するには:Automatorで新しいワークフローを開き、「Run AppleScript」にドラッグし、上記のコードをコピーして貼り付け、サービスフォルダー(通常は〜/ Library / Services /、afaik)に保存します。
スクリプトを実行するためのショートカットの添付については、このサイトの別の場所で説明する必要があります。ショートカットの範囲をFinderのみに限定しました。
スタイルリマーク:
元のフォルダを手動で開く前に、Finderを殺した後「スリープ」を使用して、少しいハックに頼らなければなりません。
この遅延を強制しないと、OSXが既にFinderを再起動し、フォルダーを開く可能性があります(私の経験では、必ずしも最後のアクティブなフォルダーとは限りません)。私自身の「開く」コマンドと一緒に、これは2つの(殺せない、偶数の)Finderプロセスが実行され、Finderがまったく動作しなくなるという厄介な影響をもたらす可能性があります。これが発生した場合、ログアウトして再度ログインすると修正されますが、明らかに時間の無駄なので、「スリープ」を使用します。
スリープ値は0.5秒ですが、安全のために、少し大きくすることができます(その場合、プロセスにより顕著な遅延が追加されます)。
誰かがFinderの再起動を抑制し、killallシグナルを送信した後にウィンドウを信頼できない方法で開く方法、または「スリープ」ハックを取り除く他の方法を知っているなら、それを聞いてうれしいです!