2012年2月17日金曜日

ファイルを選択(指定文字列を含むもの).scpt

(* 
動作説明
最も手前にあるFinderウインドウの中からダイアログで指定した文字列を含むファイルのみを選択することができます。
もし、Finderウインドウが1つも開いていないときは、デスクトップ上で選択を行うこととしています。
このスクリプトを実行するまえに事前にファイルを選択している場合は、そのファイルの表示されている名前をダイアログウインドウに自動入力します。
日本語環境では、「実際のファイル名(フォルダ名)」と「表示されている名前」が違うものが存在します。
例)
ホームフォルダの"Documents""書類フォルダ"
Finder環境設定で拡張子を常に隠す設定にしていると、"名称未設定.txt""名称未設定"
このスクリプトでは表示されている名前を利用します。
使い方:
このスクリプトをAppleScriptエディタ.appの書類ウインドウにコピー&ペーストして「ユーザー・スクリプト・フォルダ」(~/Library/Scripts)に保存してください。
メニューバーのスクリプトメニューから実行できます。
Takayuki Ueno
 *)

tell application "Finder"
try
set objList to selection
set wCount to count of Finder window
if objList ≠ {} then --選択されたファイルがあるかどうかで条件分岐
set objName to displayed name of item 1 of objList
--複数選択されたファイルの代表としてitem1のファイル名を変数に格納する。
else
set objName to ""
end if
display dialog "選択したいファイルに含まれる" & return & "共通の文字列を入力して下さい" default answer objName buttons {"キャンセル", "OK"} default button 2 with icon note
set ans to result
set targetText to text returned of ans
if wCount ≠ 0 then
set tergetList to (document files that displayed name contains targetText) of Finder window 1
else
set tergetList to (document files that displayed name contains targetText) in the desktop
--Finderウインドウが1つも開いていなときデスクトップ上のファイルが選択されているとしている
end if
--上記の処理で指定した文字を含むファイルのリストを変数に格納
select tergetList
end try
end tell

0 件のコメント:

コメントを投稿