Adobe Bridge CS3/CS4/CS5編 レーティングでファイルを選択する

Bridge CS3/CS4/CS5はレーティングでファイルを選択することができます。これはファイルを選択しておいて★をつけていくだけでできる簡単なものです。今回はこのレーティングに応じて(★の数に応じて)ファイルを選択させるスクリプトです。
最初は現在開かれている最前面のウィンドウ内にあるレーティングがゼロのファイルを選択するスクリプトです。


var doc = app.document;
var fileList = doc.thumbnail.children;
for(var i=0; i<fileList.length; i++){
var rate = fileList[i].rating;
if (rate == 0){
doc.select(doc.thumbnail.children[i]);
}
}

ゼロではなくレーティングが3のものを選択したい場合には以下のように変更して下さい。

if (rate == 0){
  ↓
if (rate == 3){

レーティングが3以上のものを選択したい場合は以下のように変更します。

if (rate == 0){
  ↓
if (rate >= 3){

上記のスクリプトではすでに選択されているファイルは、そのまま選択した状態になります。つまり、レーティングが3だけのファイルを選択する場合には一度選択を解除しておく必要があります。が、それは面倒だという人は以下のスクリプトを使って下さい。以下の例では最初に選択を解除した後、レーティングが0と4のファイルを選択します。

var doc = app.document;
doc.deselectAll();
var fileList = doc.thumbnail.children;
for(var i=0; i<fileList.length; i++){
var rate = fileList[i].rating;
if ((rate == 0) || (rate == 4)){
doc.select(doc.thumbnail.children[i]);
}
}

もっとも、このような単純な処理はBridgeの場合、手作業でも十分です。そこで、前回の検索スクリプトと組み合わせてみます。すると、より複雑なファイル選択を行うことができるようになります。以下のサンプルはファイル名にsampleの文字が含まれており、なおかつレーティングが0か4のファイルだけを選択するものです。

var findText = "sample";
var doc = app.document;
doc.deselectAll();
var fileList = doc.thumbnail.children;
for(var i=0; i<fileList.length; i++){
var rate = fileList[i].rating;
var fName = fileList[i].name;
if ((fName.indexOf(findText) > -1) && ((rate == 0) || (rate == 4))){
doc.select(doc.thumbnail.children[i]);
}
}

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