[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:684) ファイルのフィルタ
拡張子かファイルタイプで、ファイルをフィルタします。
前にもちょっとここに書きましたけど、すこし書き直し。<効率はかわならないけど^^
on open of theFiles
set my_files to my file_kind({"eps", "psd", "tif", "tiff", "pdf"}, {"EPSF", "PDF", "TIFF", "8BPS"}, theFiles)
repeat with i in my_files
tell application "Finder"
display dialog i as text
end tell
end repeat
end open
----------------------------------------------●必要なファイルだけをフィルタして返します
to file_kind(extention_list, type_list, theFiles)
set my_files to {}
set extention_list to my conv_unicode(extention_list)
set type_list to my conv_unicode(type_list)
ignoring case
tell application "Finder"
repeat with i in theFiles
if extention_list contains ((name extension of i) as Unicode text) then
set end of my_files to contents of i
else if (kind of i) is "フォルダ" as Unicode text then
display dialog "フォルダ「" & (name of i) & "」の中の全ファイルを処理します" buttons {"キャンセル", "OK"} default button 2 with icon 0
set my_files to my_files & my file_kind(extention_list, type_list, every file in folder i)
else if type_list contains ((file type of i) as Unicode text) then
set end of my_files to contents of i
else
display dialog "ファイル「" & (name of i) & "」は処理ファイルとして不適当です" buttons {"キャンセル", "OK"} default button 2 with icon 0
end if
end repeat
end tell
end ignoring
return my_files
end file_kind
----------------------------------------------○リストの項目をunicode textにする
to conv_unicode(tmp_list)
repeat with i in tmp_list
set contents of i to (contents of i) as Unicode text
end repeat
return tmp_list
end conv_unicode