SSブログ

大人とは、封印してしまいたい秘密がいくつかあるのではないでしょうか?(えっ?) [AppleScript辞書はつくれるか?]

理由は様々だとは思いますが、Macでの特定のフォルダを非表示にしてみたいと思って人は少なからずいるのではないでしょうか?

消去するわけにもいかず、置いておくこともできないようなファイルがあったら隠したいですよね?

Macはフォルダの頭文字に"."(ピリオド)を加えるだけで非表示になるので、考え方としては簡単です。

じゃぁ、デスクトップで直接フォルダ名を変更したら済むのか?

と思うかもしれませんが、直接やろうとすると

 

image220405a.jpg

 

と、勝手にシステム扱いのフォルダを作んな!と怒られてしまいます。

これを回避するには、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)スクリプトを実行すると、すぐに『封印』するか『解放』ダイアログが表示されます。

image220405b.jpg

 

2)a.『封印』を選んだ場合、次に費用時にしたいフォルダのダイアログが出ますので選びます。

image220405c.jpg

 

   その後改で非表示にして良いかのダイアログが出るので『封印』をクリックすると非表示になります、

image220405d.jpg

 

  b.『解放』を選んだ場合は、隠れたフォルダを探すダイアログが表示されますので、探して選ぶと表示されます。

image220405e.jpg

 

   (タイミングによってはスグに表示されない場合がありますがウインドウを開き直すと見えてくるはずです)

 
 
 

万が一に、何らかの不明な原因でファイルが非表示から戻らなくなってしまった時の対処法も書きます。

デスクトップ(Finder)を選んだ状態で、ショートカットキーの『Shift』キーと『⌘』(コマンド)キーと『.』(ピリオド)キーを同時に押します。

すると、隠れていたファイルやフォルダが全て表示される状態になりますので、表示を復活させたいフォルダを見つけ、頭文字のピリオドを削除すれば元に戻ります。ピリオドを追加するときは直接にはできませんでしたが、削除するときは直接できるんですね。不思議、不思議。

そして、もう一度『Shift』キーと『⌘』(コマンド)キーと『.』(ピリオド)キーを押すと隠しファイルが非表示状態に戻ります。

なお、デスクトップの背景のファイルは特別のようで、非表示ファイルがショートカットコマンドでは表示されることはありません。

 

(注意)隠しフォルダはシステム扱いだ!みたいなことを初めに書きましたが、Macではシステムが使用している、頭文字がピリオドのフォルダやファイルが多数あります。

それを変更してしまうと、最悪システムが起動しなくなってしまいます。それを回避するために、このプログラムで書き換えて隠したフォルダ以外は触れないようにしてあります。

自分が使ったフォルダ以外はいじらないように!

image220405g.jpg

 

便利かなと思ってショートカットコマンドで表示をさせても、そのまましないようにしてください。必ず非表示に戻しましょう。間違ってシステムで必要なものを消してしまうと大変なことになりかねないので...。

 

 

 

※ スクリプトの補足

 

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バイト文字を一文字づつ取得できます。

 ※ ID031はシーケンス(制御)キャラクターとして使用するため不用意に扱わない方が良いでしょう。

  キャリッジリターンやラインフィードやタブもここに含まれます。

○ character id ・・・ 1バイト文字だけでなく、2バイト文字が取得できます。1文字から複数の文字が扱えます。

id of "漢字" --> {28450, 23383}

character id {28450, 23383} --> "漢字"

 

という使い方ができます。

 

ちなみに、こんな使い方も・・・

id of "


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。