« The Drive | トップページ | 音楽が文字で見える(わけない) »

[AppleScript]アイコンのキャッシュを削除(リビルド)する

OSXのデザイン環境だと
主なトラブルって事になると
フォント
アクセス権
機能拡張(Extensions kext系)
ハードウェアや物理的なトラブル
そして
各種のアップデートに付随する事象
(最近では10.12のPDFkitはヒドイ…)
って
感じになりますが

OSとアプリ側の『なんでもキャッシュして高速化しよう』が
起因している事も結構あります。

OS フォント 機能拡張 アプリケーション メタデータと
本当に色々な物が高速化のためキャッシュされます。

キャッシュの内容と実際の内容が同じなら問題ないのですが
時として、アプリやコマンドがクラッシュしたり、バグがあったりで
差異が出る事があります。

まぁ、コレばっかりは、防ぎようが無いので…
キャッシュを再構築する事になります。


(*
ReBuildIconCache.scpt

20170121 初回作成


OSXのアイコンのキャッシュを削除します。
自動でリビルドされます
ランチサービスも初期化しますので
ファイルを開く時に『○○で開きます』とFinderが応答します。

要管理者権限

*)


---初期化
set theCmdCom to "" as text


---キャッシュファイルを削除
try
---コマンドライン整形
set theCmdCom to "sudo find '/private/var/folders/' -name com.apple.dock.iconcache -exec rm {} \\;" as text
---コマンド実行
do shell script theCmdCom with administrator privileges
end try

---アイコンサービスを削除
try
---コマンドライン整形
set theCmdCom to "sudo find '/private/var/folders/' -name com.apple.iconservices -exec rm -rf {} \\;" as text
---コマンド実行
do shell script theCmdCom with administrator privileges
end try

---アイコンサービスを削除
try
---コマンドライン整形
set theCmdCom to "sudo mv '/Library/Caches/com.apple.iconservices.store' '/tmp'" as text
---コマンド実行
do shell script theCmdCom with administrator privileges
end try

---アプリケーションフォルダに『偽』アプリを作成
try
---コマンドライン整形
set theCmdCom to "sudo mkdir -p '/Applications/CachesApp.app/Contents'" as text
---コマンド実行
do shell script theCmdCom with administrator privileges
end try

---『偽』のインフォファイルを作成
try
---コマンドライン整形
set theCmdCom to "sudo touch '/Applications/CachesApp.app/Contents/Info.plist'" as text
---コマンド実行
do shell script theCmdCom with administrator privileges
end try


set theComent to "この後少し時間がかかる処理になります。途中終了しないで一服して待ってください" as text

---ランチサービスを初期化
try
---コマンドライン整形
set theCmdCom to "'/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister' -kill -seed\n" as text
---コマンド実行
log theComent
do shell script theCmdCom
end try

---ドックを再起動
try
---コマンドライン整形
set theCmdCom to "killall Dock" as text
---コマンド実行
do shell script theCmdCom
end try

---ファインダー再起動
try
---コマンドライン整形
set theCmdCom to "killall Finder" as text
---コマンド実行
do shell script theCmdCom
end try

---『偽』アプリをtmpに移動して次回削除させる
try
---コマンドライン整形
set theCmdCom to "sudo mv '/Applications/CachesApp.app' '/tmp'" as text
---コマンド実行
do shell script theCmdCom with administrator privileges
end try

return "処理が終了しました"



「ReBuildIconCache.scpt.zip」をダウンロード

|

« The Drive | トップページ | 音楽が文字で見える(わけない) »

OSX」カテゴリの記事