ファインダーで選択された項目がロックされているかどうか調べる

説明

ファインダーで選択された項目がロックされているかどうか調べるには最初にFinder = Application("Finder")としてアプリケーションオブジェクトを取得します。次にselection = [].slice.call(Finder.selection())として選択された項目情報を配列に格納します。配列に格納された項目を1つずつ読み出して表示します。この時に配列のmap()メソッドを使います。map()メソッドのパラメーターに関数を指定すると、配列の要素の数だけ指定した関数が呼び出されます。関数にはパラメーターとして配列要素が渡されます。この場合はファインダーで選択された項目のオブジェクトになります。項目がロックされているかどうかは関数に渡された項目のオブジェクトのlockedプロパティに入っています。読み出す場合はlocked()のようにメソッド形式で指定します。ロックされている場合はtrue、ロックされていない場合はfalseになります。

サンプル [サンプルをダウンロード]

var Finder = Application("Finder");
var selection = [].slice.call(Finder.selection()); // 選択項目を全て取得する
selection.map(function(item){
var flag = item.locked(); // 選択された項目のロック状態を取得する
var name = item.displayedName(); // 選択された項目名を取得する
Finder.includeStandardAdditions = true; // 標準コマンドを使用可能にする
Finder.displayAlert(name+" : "+flag.toString()); // アラートダイアログを表示する
});
<< 目次に戻る