20260404

【Spotlight】SlicesRootAttributes 画像関連のSlicesRootAttributesの追加(exifカメラ関連のメタは除く)


画像関連のSlicesRootAttributesの追加(exifカメラ関連のメタは除く)

NOTE記事一覧ですnote.com

【スクリプトエディタで開く】 |

SlicesRootAttributes.scpt
ソース
001#!/usr/bin/env osascript
002#coding: utf-8
003----+----1----+----2----+-----3----+----4----+----5----+----6----+----7--
004(*
005Finderの検索の選択肢にフォント関連の項目を追加します
006クラシックな記述で書いてみた
007ドメインは
008com.apple.finder
009キー
010SlicesRootAttributes
011値は画像関連で基本的なもののみ
012
013kMDItemPhysicalSize  物理サイズ 
014kMDItemPixelCount  ピクセル数
015kMDItemPixelHeight  高さ(ピクセル)
016kMDItemPixelWidth  幅(ピクセル)
017kMDItemColorSpace   色空間
018kMDItemHasAlphaChannel   アルファチャンネル 
019kMDItemLayerNames  レイヤー 
020kMDItemLogicalSize   論理サイズ
021kMDItemOrientation  写真の方向(横または縦)
022kMDItemPageWidth 書類のページの幅(ポイント単位)
023kMDItemPageHeight 書類のページの高さ(ポイント単位)
024kMDItemProfileName   カラープロファイル
025kMDItemWhereFroms   入手先
026kMDItemPath ファイルパス名
027
028com.cocolog-nifty.quicktimer.icefloe *)
029----+----1----+----2----+-----3----+----4----+----5----+----6----+----7--
030use AppleScript version "2.8"
031use scripting additions
032
033set listAddAttributes to {"kMDItemPhysicalSize", "kMDItemPixelCount", "kMDItemPixelHeight", "kMDItemPixelWidth", "kMDItemColorSpace", "kMDItemHasAlphaChannel", "kMDItemLayerNames", "kMDItemLogicalSize", "kMDItemOrientation", "kMDItemPageWidth", "kMDItemPageHeight", "kMDItemProfileName", "kMDItemWhereFroms", "kMDItemPath"} as list
034
035#コマンド実行
036set strCmd to ("/usr/bin/defaults read com.apple.finder SlicesRootAttributes") as text
037set strStdOut to (do shell script strCmd) as text
038#テキスト整形して
039set strStdOut to doReplace(strStdOut, "\"", "") as text
040set strStdOut to doReplace(strStdOut, ",", "") as text
041set strStdOut to doReplace(strStdOut, space & space, "") as text
042#リストに
043set strDelim to AppleScript's text item delimiters
044set AppleScript's text item delimiters to return
045set listOrgArray to every text item of strStdOut
046set AppleScript's text item delimiters to strDelim
047
048repeat with itemAttributes in listAddAttributes
049   #含まれていないなら 追加
050   if listOrgArray does not contain itemAttributes then
051      set strCmd to ("/usr/bin/defaults write com.apple.finder SlicesRootAttributes -array-add '" & itemAttributes & "'") as text
052      try
053         do shell script strCmd
054      on error strErrMsg number numErrNo
055         log "No: " & numErrNo & linefeed & "Error:" & strErrMsg
056         return false
057      end try
058   end if
059end repeat
060
061return 0
062
063############################
064#文字の置換
065to doReplace(argOrignalText, argSearchText, argReplaceText)
066   set strDelim to AppleScript's text item delimiters
067   set AppleScript's text item delimiters to argSearchText
068   set listDelim to every text item of argOrignalText
069   set AppleScript's text item delimiters to argReplaceText
070   set strReturn to listDelim as text
071   set AppleScript's text item delimiters to strDelim
072   return strReturn
073end doReplace
AppleScriptで生成しました