大人とは、封印してしまいたい秘密がいくつかあるのではないでしょうか?(えっ?) [AppleScript辞書はつくれるか?]
理由は様々だとは思いますが、Macでの特定のフォルダを非表示にしてみたいと思って人は少なからずいるのではないでしょうか?
消去するわけにもいかず、置いておくこともできないようなファイルがあったら隠したいですよね?
Macはフォルダの頭文字に"."(ピリオド)を加えるだけで非表示になるので、考え方としては簡単です。
じゃぁ、デスクトップで直接フォルダ名を変更したら済むのか?
と思うかもしれませんが、直接やろうとすると
と、勝手にシステム扱いのフォルダを作んな!と怒られてしまいます。
これを回避するには、Applescriptやターミナルなどのスクリプトを介して変更しなければなりません。
めんどくさいですね。
ということで、好きな時にすぐフォルダを隠し、すぐに表示させるができるスクリプトを書いてみました。
Applescript
set aKey to character id {0, 32, 0} --このプログラムで封印されたフォルダなのかの判定用 tell application "Finder" set aButton to button returned of (display dialog "コースを選んでください" buttons {"封印", "解放", "キャンセル "} default button 3) if aButton = "キャンセル " then return "何も変更せず、キャンセルしました。" if aButton = "封印" then set aFolder to choose folder with prompt "封印をしたいフォルダを選んで下さい" set aButton to button returned of (display dialog "本当に、封印してよろしいですか?" buttons {"封印", "キャンセル "}) if aButton = "キャンセル " then return "キャンセルしました。" set aComment to comment of aFolder if not (aComment contains aKey) then set comment of aFolder to aComment & aKey set name of aFolder to "." & (name of aFolder) return "封印しました" else if aButton = "解放" then try set aFolder to choose folder with prompt "解放をしたいフォルダを選んで下さい" with invisibles on error return "キャンセルしました" end try set aName to name of aFolder if (character 1 of aName) = "." then set aComment to comment of aFolder if aComment contains aKey then try set folderText to aFolder as text set aName to text 2 thru -1 of aName set name of aFolder to aName set aText to "『" & aName & "』は、" & return & "解放されました" display dialog aText buttons "終了" default button 1 return aText on error errText display dialog "エラーが発生しました。ログを確認してください" buttons "終了" default button 1 return errText end try else set aText to "このフォルダは、このプログラムで封印したものではありませんので、解放できません。" display dialog aText buttons "終了" default button 1 return aText end if end if end if end tell |
(流れ)
1)スクリプトを実行すると、すぐに『封印』するか『解放』ダイアログが表示されます。
2)a.『封印』を選んだ場合、次に費用時にしたいフォルダのダイアログが出ますので選びます。
その後改で非表示にして良いかのダイアログが出るので『封印』をクリックすると非表示になります、
b.『解放』を選んだ場合は、隠れたフォルダを探すダイアログが表示されますので、探して選ぶと表示されます。
(タイミングによってはスグに表示されない場合がありますがウインドウを開き直すと見えてくるはずです)
万が一に、何らかの不明な原因でファイルが非表示から戻らなくなってしまった時の対処法も書きます。
デスクトップ(Finder)を選んだ状態で、ショートカットキーの『Shift』キーと『⌘』(コマンド)キーと『.』(ピリオド)キーを同時に押します。
すると、隠れていたファイルやフォルダが全て表示される状態になりますので、表示を復活させたいフォルダを見つけ、頭文字のピリオドを削除すれば元に戻ります。ピリオドを追加するときは直接にはできませんでしたが、削除するときは直接できるんですね。不思議、不思議。
そして、もう一度『Shift』キーと『⌘』(コマンド)キーと『.』(ピリオド)キーを押すと隠しファイルが非表示状態に戻ります。
なお、デスクトップの背景のファイルは特別のようで、非表示ファイルがショートカットコマンドでは表示されることはありません。
(注意)隠しフォルダはシステム扱いだ!みたいなことを初めに書きましたが、Macではシステムが使用している、頭文字がピリオドのフォルダやファイルが多数あります。
それを変更してしまうと、最悪システムが起動しなくなってしまいます。それを回避するために、このプログラムで書き換えて隠したフォルダ以外は触れないようにしてあります。
自分が使ったフォルダ以外はいじらないように!
便利かなと思ってショートカットコマンドで表示をさせても、そのまましないようにしてください。必ず非表示に戻しましょう。間違ってシステムで必要なものを消してしまうと大変なことになりかねないので...。
※ スクリプトの補足
choose folder with prompt "解放をしたいフォルダを選んで下さい" with invisibles |
choose文に "with invisibles" を付けることによってウインドウの中にのリストに、非表示だったものが見えるようになります。
id of "A" |
キャラクター(文字)のIDを取得します。(結果は、65)
character id 65 |
IDから文字を取得します。(結果は、"A")
ASCII character 65 |
上記と同じような働きで、IDから文字を取得します。(結果は、"A")
"character id"と"ASCII character"の違いは、
○ ASCII character・・・IDが0から255までのアスキーキャラクターの1バイト文字を一文字づつ取得できます。
※ IDが0~31はシーケンス(制御)キャラクターとして使用するため不用意に扱わない方が良いでしょう。
キャリッジリターンやラインフィードやタブもここに含まれます。
○ character id ・・・ 1バイト文字だけでなく、2バイト文字が取得できます。1文字から複数の文字が扱えます。
id of "漢字" --> {28450, 23383} character id {28450, 23383} --> "漢字" |
という使い方ができます。
ちなみに、こんな使い方も・・・
id of " |
コメント 0