指定したフォルダ内のアイテム一覧を取得するapplescript
自作したapplescriptを紹介してみます.
だいぶ前にフォルダ内のファイル一覧リストを作りたいと思ったが,ちょうど良いソフトも見つからず,作ったものです.
lsコマンドとかの結果を出力しても良かったのだが,せっかくだからapplescriptでも使ってみるか,という感じだったと記憶しています.
2008年4月作成とメモってあったので,現在では他の便利なソフトもあるかと思いますが,初めて作ったapplescriptということで個人的に思い入れのある一品.
--listget.scpt --選択したフォルダのリストをスクリプトを実行したディレクトリ内に"日付.txt"の名で保存する -------------------------------- --デリミタの一時避難 set temp to AppleScript's text item delimiters --FileListにリストとして格納 set FileList to (list folder (choose folder default location alias "Macintosh HD:Users:") without invisibles) --項目数チェック set noofitems to count item of FileList --デリミタを改行に変更 set AppleScript's text item delimiters to return --リストの要素を結合して一つに --その際に要素はデリミタで区切られる=要素ごとに改行される set FileList to every item of FileList as string --デリミタを空に set AppleScript's text item delimiters to [] --今日の年を数字として取得 set y to year of (current date) as number --同月 set m to month of (current date) as number --同日を取得 二桁の数字にする set d to day of (current date) as number if (m < 10) then set m to 0 & m if (d < 10) then set d to 0 & d --スクリプト自身の親フォルダのパスを取得 合わせて新規テキストのパスを作成 tell application "Finder" to set Fpath to parent of (path to me) as string set Fname to Fpath & y & m & d & ".txt" as string --新規ファイルを作成 エラー対策用にtry構文内に try set NewFile to open for access file Fname with write permission --書き込み --日付を記録 write "List " & y & "/" & m & "/" & d & return to NewFile --トータルのファイル数を記録 write "Total : " & noofitems & " items" & return to NewFile --区切り write "==========================" & return & return to NewFile --リストを書き込み write FileList to NewFile end try --ファイルを閉じる close access NewFile --デリミタをもとに戻しておく set AppleScript's text item delimiters to temp
(もし利用する場合は自己責任でお願いします.)
やっていることは単純で,applescriptをやっている人ならすぐ分かると思います.以下ちょっと補足です.
9行目のchoose folder default location alias "Macintosh HD:Users:"のMacintosh HD:Users:の部分を変えると,フォルダ選択ダイアログのデフォルトの開始ディレクトリを変更できます.また,without invisiblesをwith invisiblesにすると,不可視ファイルもリストに含めることができます.
また,リストを書き込んだテキストファイルは実行時の日付で「YYYYMMDD.txt」で実行ディレクトリ内に保存されますが,同名ファイルがあった場合,問答無用で上書きしてしまうので,ご注意ください.
applescriptは文法も結構直感的なので,プログラム?何それ?な人でも結構使えると思うので,Macユーザなら一度試してみるのも良いかもしれません.