ファルダ内のファイルをリストにしたい【MAC】

ベストアンサー

0

ThanksImg質問者からのお礼コメント

できちゃいました。 ありがとうございました。 gjioseh(2)さんもご回答くださいまして、ありがとうございました。 ただ、ちょっと私には難しかったです。

お礼日時:2/25 19:00

その他の回答(1件)

0

こんな感じで如何でしょうか? https://youtu.be/NWgfkxEXBpI 一応動作確認はしましたが、完璧に動くかは不明です。 何かあれば仰ってください。 下記スクリプトをスクリプトエディタにペーストし実行するとフォルダの選択が求められるので、フォルダを指定し決定(選択)すると 含まれるムービーのリストがデスクトップに書き出されます。 ---------- -- http://piyocast.com/as/archives/3375 use AppleScript version "2.4" use scripting additions use framework "Foundation" property NSURLTypeIdentifierKey : a reference to current application's NSURLTypeIdentifierKey property |NSURL| : a reference to current application's |NSURL| property NSPredicate : a reference to current application's NSPredicate property NSArray : a reference to current application's NSArray tell application "Finder" set aFol to choose folder set aCon to every file of aFol as alias list if aCon is {} then return set filRes1 to filterAliasListByUTI(aCon, "public.movie") of me set aList to {} repeat with i in filRes1 set aSize to size of ((contents of i) as POSIX file as alias) set aName to name of ((contents of i) as POSIX file as alias) if aSize ≥ 1.0E+9 then set a to (aSize / 1.0E+9) & " GB" else if aSize ≥ 1000000 then set a to (aSize / 1000000) & " MB" else if aSize ≥ 1000 then set a to (aSize / 1000) & " KB" else if aSize ≥ 0 then set a to aSize & " B" end if set the end of aList to ((aName & " " & a) as string) & (ASCII character 10) end repeat set aText to aList as text set saveFolder to (path to desktop folder from user domain as alias) as text try set aTextFile to open for access (saveFolder & "ムービーのリスト.txt") with write permission set aEOF to get eof of aTextFile write aText starting at (aEOF + 1) to aTextFile on error aErrorText number n display alert aErrorText & " number " & n end try close access aTextFile end tell ---------- --Alias listから指定UTIに含まれるものをPOSIX pathのリストで返す on filterAliasListByUTI(aList, targUTI) set newList to {} repeat with i in aList set j to POSIX path of i set tmpUTI to my retUTIfromPath(j) set utiRes to my filterUTIList({tmpUTI}, targUTI) if utiRes is not equal to {} then set the end of newList to j end if end repeat return newList end filterAliasListByUTI --指定のPOSIX pathのファイルのUTIを求める on retUTIfromPath(aPOSIXPath) set aURL to |NSURL|'s fileURLWithPath:aPOSIXPath set {theResult, theValue} to aURL's getResourceValue:(reference) forKey:NSURLTypeIdentifierKey |error|:(missing value) if theResult = true then return theValue as string else return theResult end if end retUTIfromPath --UTIリストが指定UTIに含まれているかどうか演算を行う on filterUTIList(aUTIList, aUTIstr) set anArray to NSArray's arrayWithArray:aUTIList set aPred to NSPredicate's predicateWithFormat_("SELF UTI-CONFORMS-TO %@", aUTIstr) set bRes to (anArray's filteredArrayUsingPredicate:aPred) as list return bRes end filterUTIList ---------- ----------