Spotlight

[CPU] CSExattrCryptoService-> spotlightknowledged の使用率が高い現象

一度始まると30分ほど高負荷状態がつづく
キーになるのは『たぶん』だけど
2種類あって
A:iCloudの同期が走ったタイミング
B:アプリケーションのインストールやUnインストールを行った後

A:iCloudの同期が走ったタイミング

間違いなくApple Intelligenceが関係していると思われる

B:アプリケーションのインストールやUnインストールを行った後

ファイルの関連付けと、UITとバンドルIDの紐付けを
行なって
その後で、インデックス(検索牽引)を暗号化する『のではないか?』
なぜなら
spotlightknowledgedと連動して動作しているように見えるから

それか
やっぱり、Apple Intelligence関連で写真データがCloudと同期したタイミング等がトリガ

言うことは
Ai関連の機能(Apple Intelligence & Siri)に関係がある『可能性』が高い
[CPU][GPU] mediaanalysisd-> spotlightknowledged->mobileassetd->modelcatalogdの使用率が高い現象
202504230220431_1430x940

Apple IntelligenceをOFFにすると、回避できる『場合もある』ので
試してみて欲しい

当然
レポートもOFFにする
202505280558321_1430x9402


なので
高負荷状態が落ち着くと
/Users/UID/Library/Application\ Support/com.apple.spotlight/appList.dat

更新されている

ユーザープロセスで起動しているため
/var/dbの spotlightとは関係無いかもしれない

暗号化は、正しく終わらせた方がいいので
対応は基本、終わるのを『待つ』ですが
ユーザープロセスなので
アクティビティモニタから強制終了することもでできる


CPU50%で1時間かかるのと100%で30分で終わるの
どっちが良いか?ってのも困るが
ファンが回るほどの高負荷なら
ちょっと考えてもらいたい

com.apple.spotlight.CSExattrCryptoService
com.apple.spotlight=スポットライトの
CS=コアスポットライト か コアサービスか
Exattr=メタデータのFinder拡張属性
Crypto=暗号化
Service=サービス でしょう
Extended attributesについてはこちらを基本情報として


ユーザー環境のフォルダは
サンドボックスの
/Users/ユーザーID/Library/Containers/com.apple.spotlight.CSExattrCryptoService
特に何かあるわけでなし
CrashReporterの日付ぐらいしか入っていないが
頻発するようなら、削除して再起動してもイイ『かも』しれない


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

com.apple.spotlight.CSExattrCryptoServiceの強制終了.scpt
ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003(*
004com.apple.spotlight.CSExattrCryptoServiceの強制終了
005
006
007オプション設定するには
008要管理者が必要ですが
009設定項目falseなら管理者権限不要です
010
011com.cocolog-nifty.quicktimer.icefloe *)
012----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
013##自分環境がos12なので2.8にしているだけです
014use AppleScript version "2.8"
015use framework "Foundation"
016use framework "AppKit"
017use framework "UniformTypeIdentifiers"
018
019use scripting additions
020
021property refMe : a reference to current application
022
023################################
024#本処理
025
026tell application "System Events"
027   tell application process "CSExattrCryptoService"
028      quit
029   end tell
030end tell
031set strPIDF to (missing value)
032set ocidRunAppArray to refMe's NSRunningApplication's runningApplicationsWithBundleIdentifier:("com.apple.spotlight.CSExattrCryptoService")
033set numCntArray to ocidRunAppArray's |count|()
034if numCntArray = 0 then
035   
036   set strResnponse to doZshShellScript("/usr/bin/pgrep -x \"CSExattrCryptoService\"")
037   if strResnponse is false then
038      return "処理終了"
039   end if
040   
041   set strDelim to AppleScript's text item delimiters
042   set AppleScript's text item delimiters to "\r"
043   set listPID to every text item of strResnponse
044   set AppleScript's text item delimiters to strDelim
045   
046   repeat with itemPID in listPID
047      log doZshShellScript("/bin/kill -9 \"" & itemPID & "\"")
048      return
049   end repeat
050   
051end if
052repeat with itemRunApp in ocidRunAppArray
053   set booldDone to itemRunApp's terminate() as boolean
054   log booldDone
055   if booldDone is false then
056      set booldDone to itemRunApp's forceTerminate() as boolean
057      log booldDone
058   end if
059   set strPIDF to itemRunApp's processIdentifier() as text
060end repeat
061if strPIDF ≠ (missing value) then
062   log doZshShellScript("/bin/kill -9 \"" & strPIDF & "\"")
063end if
064
065
066##########################
067# 【通常】ZSH 実行
068to doZshShellScript(argCommandText)
069   set strCommandText to argCommandText as text
070   log "\r" & strCommandText & "\r"
071   set strExec to ("/bin/zsh -c '" & strCommandText & "'") as text
072   log "\r" & strExec & "\r"
073   ##########
074   #コマンド実行
075   try
076      log "コマンド開始"
077      set strResnponse to (do shell script strExec) as text
078      log "コマンド終了"
079   on error
080      return false
081   end try
082   return strResnponse
083end doZshShellScript
AppleScriptで生成しました

| | コメント (0)

[mdsl]スポットライトのメタデータをHTMLに表示する(Automatorワークフロー)



ダウンロード - mdls2htmlv2.zip



MDLS2HTML4 workflow.scpt

AppleScript サンプルコード

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

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# フォント情報 Apple Type Servicesのメタ情報のHTML表示
005# HTMLはテンポラリーに作成して使い捨てにした
006(*
007Automator用のワークフローファイルはこちらから
008https://quicktimer.cocolog-nifty.com/icefloe/files/mdls2htmlv2.zip
009*)
010#com.cocolog-nifty.quicktimer.icefloe
011----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
012use AppleScript version "2.8"
013use framework "Foundation"
014use framework "UniformTypeIdentifiers"
015use framework "AppKit"
016use scripting additions
017
018property refMe : a reference to current application
019
020
021on run {listAliasFilePath, parameters}
022  
023  set appFileManager to refMe's NSFileManager's defaultManager()
024  
025  #############################
026  # MDLSキー名称翻訳スキーム読み込み
027  #入力パス
028  set appFileManager to refMe's NSFileManager's defaultManager()
029  set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSSystemDomainMask))
030  set ocidLibraryDirPathURL to ocidURLsArray's firstObject()
031  set ocidFilePathURL to ocidLibraryDirPathURL's URLByAppendingPathComponent:("Frameworks/CoreSpotlight.framework/Versions/A/Resources/schema.loctable") isDirectory:(false)
032  #読み込み
033  set listResponse to refMe's NSDictionary's alloc()'s initWithContentsOfURL:(ocidFilePathURL) |error| :(reference)
034  set ocidPlistDict to (item 1 of listResponse)
035  #日本語ローカライズのDictを取得
036  set ocidJaDict to ocidPlistDict's objectForKey:("ja")
037  
038  
039  
040  ########################
041  # URLDICT作成
042  #{ファイル名:URL}形式
043  set ocidFilePathNameDict to refMe's NSMutableDictionary's alloc()'s init()
044  
045  repeat with itemAliasFilePath in listAliasFilePath
046    set aliasFilePath to itemAliasFilePath as alias
047    set strFilePath to (POSIX path of aliasFilePath) as text
048    set ocidFilePathStr to (refMe's NSString's stringWithString:(strFilePath))
049    set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
050    set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:false)
051    #ファイル名
052    set strFileName to ocidFilePathURL's lastPathComponent() as text
053    #ファイル名をキーにしてURLが値のDICT
054    (ocidFilePathNameDict's setObject:(ocidFilePathURL) forKey:(strFileName))
055  end repeat
056  
057  ########################
058  #ソート
059  #全てのキー=ファイル名を
060  set ocidAllKey to ocidFilePathNameDict's allKeys()
061  #名前順にソートして
062  set ocidAllKeys to ocidAllKey's sortedArrayUsingSelector:("localizedStandardCompare:")
063  
064  ########################
065  #テンポラリーが保存先
066  set appFileManager to refMe's NSFileManager's defaultManager()
067  set ocidTempDirURL to appFileManager's temporaryDirectory()
068  #UUIDをフォルダ名
069  set ocidUUID to refMe's NSUUID's alloc()'s init()
070  set ocidUUIDString to ocidUUID's UUIDString
071  set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
072  #フォルダ作成
073  set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s init()
074  ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
075  set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:(true) attributes:(ocidAttrDict) |error| :(reference)
076  
077  
078  ########################
079  #ソートしたキー順=ファイル名順に処理
080  repeat with itemKey in ocidAllKeys
081    #ファイルパス
082    set ocidItemFileURL to (ocidFilePathNameDict's objectForKey:(itemKey))
083    set strItemFilePath to ocidItemFileURL's |path|() as text
084    #Plist出力先
085    set ocidPlistFileName to (itemKey's stringByAppendingString:(".plist"))
086    set ocidPlistFilePathURL to (ocidSaveDirPathURL's URLByAppendingPathComponent:(ocidPlistFileName) isDirectory:false)
087    set strPlistFilePath to ocidPlistFilePathURL's |path|() as text
088    #コマンド実行
089    set strCommandText to ("/usr/bin/mdls \"" & strItemFilePath & "\" -plist \"" & strPlistFilePath & "\"") as text
090    set boolDone to doZshShellScript(strCommandText)
091    if boolDone is false then
092      log (itemKey as text) & "mdlsで失敗しました"
093    end if
094    #Plist読み込み
095    set listResponse to (refMe's NSMutableDictionary's dictionaryWithContentsOfURL:(ocidPlistFilePathURL) |error| :(reference))
096    set ocidPlistDict to (item 1 of listResponse)
097    #DICTの値入れ替え
098    (ocidFilePathNameDict's setObject:(ocidPlistDict) forKey:(itemKey))
099    
100  end repeat
101  
102  
103  ##########################################
104  ####本処理 HTML生成
105  ##########################################
106  #headerに渡すエレメント
107  set ocidSetHeaderElement to (refMe's NSXMLElement's elementWithName:("div"))
108  set ocidH3Element to refMe's NSXMLElement's elementWithName:("h3")
109  (ocidH3Element's setStringValue:("メタデータ一覧"))
110  (ocidSetHeaderElement's addChild:(ocidH3Element))
111  
112  ###################
113  #footerに渡すエレメント
114  set ocidSetFooterElement to (refMe's NSXMLElement's elementWithName:("div"))
115  set ocidAElement to refMe's NSXMLElement's elementWithName:("a")
116  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("href") stringValue:("https://quicktimer.cocolog-nifty.com/"))
117  (ocidAElement's addAttribute:(ocidAddNode))
118  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("target") stringValue:("_blank"))
119  (ocidAElement's addAttribute:(ocidAddNode))
120  set strContents to ("AppleScriptで生成しました") as text
121  (ocidAElement's setStringValue:(strContents))
122  (ocidSetFooterElement's addChild:(ocidAElement))
123  
124  ###################
125  #articleに渡すエレメント
126  set ocidSetArticleElement to (refMe's NSXMLElement's elementWithName:("div"))
127  set ocidH3Element to (refMe's NSXMLElement's elementWithName:("h3"))
128  (ocidH3Element's setStringValue:("Spotlightのメタ情報の出力"))
129  (ocidSetArticleElement's addChild:(ocidH3Element))
130  
131  ###################
132  #テーブル部生成開始
133  set ocidTableElement to refMe's NSXMLElement's elementWithName:("table")
134  ###################
135  #【caption】
136  set ocidCaptionElement to refMe's NSXMLElement's elementWithName:("caption")
137  ocidCaptionElement's setStringValue:("MDLS メタデータ リスト 値の0−1はfalse trueの場合もあります")
138  ocidTableElement's addChild:(ocidCaptionElement)
139  ###################
140  #【colgroup】
141  set ocidColgroupElement to refMe's NSXMLElement's elementWithName:("colgroup")
142  ###################
143  #【col】col生成
144  set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
145  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("No"))
146  (ocidAddElement's addAttribute:(ocidAddNode))
147  (ocidColgroupElement's addChild:(ocidAddElement))
148  #
149  set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
150  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Key"))
151  (ocidAddElement's addAttribute:(ocidAddNode))
152  (ocidColgroupElement's addChild:(ocidAddElement))
153  #
154  set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
155  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Value"))
156  (ocidAddElement's addAttribute:(ocidAddNode))
157  (ocidColgroupElement's addChild:(ocidAddElement))
158  #テーブルエレメントに追加
159  ocidTableElement's addChild:(ocidColgroupElement)
160  
161  ###################
162  #【thead】
163  set ocidTheadElement to refMe's NSXMLElement's elementWithName:("thead")
164  #TR
165  set ocidTrElement to refMe's NSXMLElement's elementWithName:("tr")
166  #TH
167  set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
168  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("No"))
169  (ocidAddElement's addAttribute:(ocidAddNode))
170  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("No"))
171  (ocidAddElement's addAttribute:(ocidAddNode))
172  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
173  (ocidAddElement's addAttribute:(ocidAddNode))
174  (ocidAddElement's setStringValue:("\"))
175  (ocidTrElement's addChild:(ocidAddElement))
176  #
177  set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
178  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Key"))
179  (ocidAddElement's addAttribute:(ocidAddNode))
180  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("Key"))
181  (ocidAddElement's addAttribute:(ocidAddNode))
182  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
183  (ocidAddElement's addAttribute:(ocidAddNode))
184  (ocidAddElement's setStringValue:("キー名"))
185  (ocidTrElement's addChild:(ocidAddElement))
186  #
187  set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
188  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Value"))
189  (ocidAddElement's addAttribute:(ocidAddNode))
190  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("Value"))
191  (ocidAddElement's addAttribute:(ocidAddNode))
192  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
193  (ocidAddElement's addAttribute:(ocidAddNode))
194  (ocidAddElement's setStringValue:("値"))
195  (ocidTrElement's addChild:(ocidAddElement))
196  #TRをTHEADにセット
197  ocidTheadElement's addChild:(ocidTrElement)
198  #THEADをテーブルにセット
199  ocidTableElement's addChild:(ocidTheadElement)
200  ########################################
201  #【tbody】
202  set ocidTbodyElement to refMe's NSXMLElement's elementWithName:("tbody")
203  #ITEM
204  set numCntArray to ocidAllKeys's |count|()
205  #データ数繰り返し
206  repeat with itemNo from 0 to (numCntArray - 1) by 1
207    
208    #データ取り出し
209    set ocidItemKey to (ocidAllKeys's objectAtIndex:(itemNo))
210    
211    
212    ##############
213    #TRの開始
214    set ocidTrElement to (refMe's NSXMLElement's elementWithName:("tr"))
215    ####項番処理
216    set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
217    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("項目番号:" & itemNo))
218    (ocidThElement's addAttribute:(ocidAddNode))
219    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("NO"))
220    (ocidThElement's addAttribute:(ocidAddNode))
221    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("row"))
222    (ocidThElement's addAttribute:(ocidAddNode))
223    (ocidThElement's setStringValue:((itemNo + 1) as text))
224    (ocidTrElement's addChild:(ocidThElement))
225    #
226    set ocidTdElement to (refMe's NSXMLElement's elementWithName:("th"))
227    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
228    (ocidTdElement's addAttribute:(ocidAddNode))
229    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("key"))
230    (ocidTdElement's addAttribute:(ocidAddNode))
231    (ocidTdElement's setStringValue:("ファイル名"))
232    (ocidTrElement's addChild:(ocidTdElement))
233    
234    #
235    set ocidTdElement to (refMe's NSXMLElement's elementWithName:("th"))
236    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
237    (ocidTdElement's addAttribute:(ocidAddNode))
238    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("key"))
239    (ocidTdElement's addAttribute:(ocidAddNode))
240    (ocidTdElement's setStringValue:(ocidItemKey's stringValue()))
241    (ocidTrElement's addChild:(ocidTdElement))
242    (ocidTbodyElement's addChild:(ocidTrElement))
243    
244    
245    #キーからmdlsのDICTを取り出して
246    set ocidItemDict to (ocidFilePathNameDict's objectForKey:(ocidItemKey))
247    #mdlsのキーを
248    set ocidItemAllKeys to ocidItemDict's allKeys()
249    #ソートして
250    set ocidItemAllKeySort to (ocidItemAllKeys's sortedArrayUsingSelector:("localizedStandardCompare:"))
251    #順番に処理
252    repeat with itemSortKey in ocidItemAllKeySort
253      
254      ##############
255      #TRの開始
256      set ocidTrElement to (refMe's NSXMLElement's elementWithName:("tr"))
257      ####項番処理
258      set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
259      set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("項目番号:" & itemNo))
260      (ocidThElement's addAttribute:(ocidAddNode))
261      set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("NO"))
262      (ocidThElement's addAttribute:(ocidAddNode))
263      set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("row"))
264      (ocidThElement's addAttribute:(ocidAddNode))
265      (ocidThElement's setStringValue:(""))
266      (ocidTrElement's addChild:(ocidThElement))
267      #
268      set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
269      set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
270      (ocidTdElement's addAttribute:(ocidAddNode))
271      set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("key"))
272      (ocidTdElement's addAttribute:(ocidAddNode))
273      #
274      set ocidTransKeyName to doTranslationKeyName(ocidJaDict, itemSortKey)
275      (ocidTdElement's setStringValue:(ocidTransKeyName))
276      (ocidTrElement's addChild:(ocidTdElement))
277      
278      
279      #
280      set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
281      set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
282      (ocidTdElement's addAttribute:(ocidAddNode))
283      set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("Value"))
284      (ocidTdElement's addAttribute:(ocidAddNode))
285      
286      #キーの値を取り出して
287      set ocidItemObject to (ocidItemDict's objectForKey:(itemSortKey))
288      #クラスを調べて
289      set strClass to ocidItemObject's className() as text
290      #Arrayなら別処理
291      if strClass contains "Array" then
292        repeat with itemObjectItem in ocidItemObject
293          
294          set ocidTextNode to (refMe's NSXMLNode's alloc()'s initWithKind:(refMe's NSXMLTextKind))
295          
296          
297          #クラスを調べて
298          set strItemClass to itemObjectItem's className() as text
299          #DATEなら
300          if strItemClass contains "Date" then
301            #日付フォーマットする
302            set appFormatter to refMe's NSDateFormatter's alloc()'s init()
303            (appFormatter's setLocale:(refMe's NSLocale's localeWithLocaleIdentifier:"ja_JP_POSIX"))
304            (appFormatter's setDateFormat:("yyyy-MM-dd'T'HH:mm:ss'Z'"))
305            set ocidDateAndTime to (appFormatter's stringFromDate:(itemObjectItem))
306            
307            #
308            (ocidTextNode's setStringValue:(ocidDateAndTime))
309          else
310            (ocidTextNode's setStringValue:(itemObjectItem's stringValue()))
311          end if
312          
313          (ocidTdElement's addChild:(ocidTextNode))
314          set ocidBRelement to (refMe's NSXMLElement's alloc()'s initWithName:("br"))
315          (ocidTdElement's addChild:(ocidBRelement))
316          
317        end repeat
318      else if (itemSortKey as text) contains "Size" then
319        set ocidSetValue to ((ocidItemObject as integer) / 1000000) & " MB" as text
320        (ocidTdElement's setStringValue:(ocidSetValue))
321      else if strClass contains "Date" then
322        set appFormatter to refMe's NSDateFormatter's alloc()'s init()
323        (appFormatter's setLocale:(refMe's NSLocale's localeWithLocaleIdentifier:"ja_JP_POSIX"))
324        (appFormatter's setDateFormat:("yyyy-MM-dd'T'HH:mm:ss'Z'"))
325        set ocidSetValue to (appFormatter's stringFromDate:(ocidItemObject))
326        (ocidTdElement's setStringValue:(ocidSetValue))
327      else
328        (ocidTdElement's setStringValue:(ocidItemObject's stringValue()))
329      end if
330      (ocidTrElement's addChild:(ocidTdElement))
331      (ocidTbodyElement's addChild:(ocidTrElement))
332    end repeat
333    
334    
335    
336    
337    
338    
339    ##############
340    #TRの開始
341    set ocidTrElement to (refMe's NSXMLElement's elementWithName:("tr"))
342    set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
343    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("colspan") stringValue:("3"))
344    (ocidTdElement's addAttribute:(ocidAddNode))
345    set ocidBRelement to (refMe's NSXMLElement's alloc()'s initWithName:("br"))
346    (ocidTdElement's addChild:(ocidBRelement))
347    (ocidTrElement's addChild:(ocidTdElement))
348    (ocidTbodyElement's addChild:(ocidTrElement))
349  end repeat
350  #TBODYをテーブルにセット
351  ocidTableElement's addChild:(ocidTbodyElement)
352  ##############################
353  #【tfoot】
354  set ocidTfootElement to refMe's NSXMLElement's elementWithName:("tfoot")
355  #TR
356  set ocidTrElement to refMe's NSXMLElement's elementWithName:("tr")
357  #colspan指定して1行でセット
358  set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
359  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("テーブルの終わり"))
360  (ocidThElement's addAttribute:(ocidAddNode))
361  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("colspan") stringValue:("9"))
362  (ocidThElement's addAttribute:(ocidAddNode))
363  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("row"))
364  (ocidThElement's addAttribute:(ocidAddNode))
365  #
366  set strContents to ("項目数 : " & (numCntArray as text) & "") as text
367  (ocidThElement's setStringValue:(strContents))
368  #THをTRにセットして
369  ocidTrElement's addChild:(ocidThElement)
370  #TRをTFOOTにセット
371  ocidTfootElement's addChild:(ocidTrElement)
372  #TFOOTをテーブルにセット
373  ocidTableElement's addChild:(ocidTfootElement)
374  #テーブルをアーティクルにセット
375  ocidSetArticleElement's addChild:(ocidTableElement)
376  
377  ##############################
378  #HTMLにする
379  ##############################
380  set ocidHTML to doMakeRootElement({ocidSetHeaderElement, ocidSetArticleElement, ocidSetFooterElement})
381  
382  #####保存
383  #
384  set strDateNo to doGetDateNo("yyyyMMdd-hhmm")
385  
386  set strFileName to ("Meta_List." & strDateNo & ".html") as text
387  set ocidSaveFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(strFileName) isDirectory:false
388  
389  
390  #読み取りやすい表示
391  set ocidXMLdata to ocidHTML's XMLDataWithOptions:(refMe's NSXMLNodePrettyPrint)
392  set listDone to ocidXMLdata's writeToURL:(ocidSaveFilePathURL) options:(refMe's NSDataWritingAtomic) |error| :(reference)
393  
394  ####ブラウザで開く
395  set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
396  set boolDone to appSharedWorkspace's openURL:(ocidSaveFilePathURL)
397  
398  
399  
400end run
401
402
403
404##########################################
405####日付情報の取得
406##########################################
407to doGetDateNo(strDateFormat)
408  ####日付情報の取得
409  set ocidDate to refMe's NSDate's |date|()
410  ###日付のフォーマットを定義
411  set ocidNSDateFormatter to refMe's NSDateFormatter's alloc()'s init()
412  ocidNSDateFormatter's setLocale:(refMe's NSLocale's localeWithLocaleIdentifier:"en_US")
413  ocidNSDateFormatter's setDateFormat:strDateFormat
414  set ocidDateAndTime to ocidNSDateFormatter's stringFromDate:ocidDate
415  set strDateAndTime to ocidDateAndTime as text
416  return strDateAndTime
417end doGetDateNo
418
419############################################################
420# 基本的なHTMLの構造
421(*
422doMakeRootElement({argHeaderContents, argArticleContents, argFooterContents})
423HTMLのBODY部
424header
425article
426footerにそれぞれAddchildするデータをリストで渡す
427戻り値はRootエレメントにセットされた
428NSXMLDocumentを戻すので 保存すればOK
429*)
430############################################################
431to doMakeRootElement({argHeaderContents, argArticleContents, argFooterContents})
432  #XML初期化
433  set ocidXMLDoc to refMe's NSXMLDocument's alloc()'s init()
434  ocidXMLDoc's setDocumentContentKind:(refMe's NSXMLDocumentHTMLKind)
435  # DTD付与
436  set ocidDTD to refMe's NSXMLDTD's alloc()'s init()
437  ocidDTD's setName:("html")
438  ocidXMLDoc's setDTD:(ocidDTD)
439  #
440  set ocidRootElement to refMe's NSXMLElement's elementWithName:("html")
441  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("lang") stringValue:("ja")
442  ocidRootElement's addAttribute:(ocidAddNode)
443  #
444  set ocidHeadElement to refMe's NSXMLElement's elementWithName:("head")
445  #
446  set ocidAddElement to refMe's NSXMLElement's elementWithName:("title")
447  ocidAddElement's setStringValue:("TSV2HTML")
448  ocidHeadElement's addChild:(ocidAddElement)
449  # http-equiv
450  set ocidAddElement to refMe's NSXMLElement's elementWithName:("meta")
451  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("http-equiv") stringValue:("Content-Type")
452  ocidAddElement's addAttribute:(ocidAddNode)
453  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("content") stringValue:("text/html; charset=UTF-8")
454  ocidAddElement's addAttribute:(ocidAddNode)
455  ocidHeadElement's addChild:(ocidAddElement)
456  #
457  set ocidAddElement to refMe's NSXMLElement's elementWithName:("meta")
458  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("name") stringValue:("viewport")
459  ocidAddElement's addAttribute:(ocidAddNode)
460  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("content") stringValue:("width=720")
461  ocidAddElement's addAttribute:(ocidAddNode)
462  ocidHeadElement's addChild:(ocidAddElement)
463  #
464  set ocidAddElement to refMe's NSXMLElement's elementWithName:("style")
465  ocidAddElement's setStringValue:("body {margin: 10px;background-color: #FFFFFF;}table {border-spacing: 0;caption-side: top;font-family: system-ui;}thead th {border: solid 1px #666666;padding: .5ch 1ch;border-block-width: 1px 0;border-inline-width: 1px 0;&:first-of-type {border-start-start-radius: .5em}&:last-of-type {border-start-end-radius: .5em;border-inline-end-width: 1px}}tbody th {word-wrap: break-all;overflow-x: hidden;max-width: 240px;border-block-width: 1px 0;border-inline-width: 1px 0; &:last-of-type { border-inline-width: 1px;}}tbody td {word-wrap: break-all;overflow-wrap: anywhere;text-overflow: ellipsis;max-width: 720px;border-spacing: 0;border: solid 1px #666666;padding: .5ch 1ch;border-block-width: 1px 0;border-inline-width: 1px 0;&:last-of-type {border-inline-end-width: 1px}}tbody th {border-spacing: 0;border: solid 1px #666666;padding: .5ch 1ch;border-block-width: 1px 0;border-inline-width: 1px 0;&:last-of-type {border-inline-end-width: 1px}&:first-of-type {border-inline-width: 1px 0;}}tbody tr:nth-of-type(odd) {background: #F2F2F2;}.kind_string {font-size: 0.75em;}.date_string {font-size: 0.5em;}tfoot th {border: solid 1px #666666;padding: .5ch 1ch;&:first-of-type {border-end-start-radius: .5em}&:last-of-type {border-end-end-radius: .5em;border-inline-end-width: 1px}} ")
466  ocidHeadElement's addChild:(ocidAddElement)
467  ocidRootElement's addChild:(ocidHeadElement)
468  #
469  #ボディエレメント
470  set ocidBodyElement to refMe's NSXMLElement's elementWithName:("body")
471  #ヘッダー
472  set ocidHeaderElement to refMe's NSXMLElement's elementWithName:("header")
473  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("header")
474  ocidHeaderElement's addAttribute:(ocidAddNode)
475  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_header")
476  ocidHeaderElement's addAttribute:(ocidAddNode)
477  ocidHeaderElement's addChild:(argHeaderContents)
478  ocidBodyElement's addChild:(ocidHeaderElement)
479  #アーティクル
480  set ocidArticleElement to refMe's NSXMLElement's elementWithName:("article")
481  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("article")
482  ocidArticleElement's addAttribute:(ocidAddNode)
483  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_article")
484  ocidArticleElement's addAttribute:(ocidAddNode)
485  ocidArticleElement's addChild:(argArticleContents)
486  ocidBodyElement's addChild:(ocidArticleElement)
487  #フッター
488  set ocidFooterElement to refMe's NSXMLElement's elementWithName:("footer")
489  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("footer")
490  ocidFooterElement's addAttribute:(ocidAddNode)
491  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_footer")
492  ocidFooterElement's addAttribute:(ocidAddNode)
493  ocidFooterElement's addChild:(argFooterContents)
494  ocidBodyElement's addChild:(ocidFooterElement)
495  #ボディをROOTエレメントにセット
496  ocidRootElement's addChild:(ocidBodyElement)
497  #ROOTをXMLにセット
498  ocidXMLDoc's setRootElement:(ocidRootElement)
499  #値を戻す
500  return ocidXMLDoc
501end doMakeRootElement
502
503
504
505##########################
506# 【N】ZSH 実行
507to doZshShellScript(argCommandText)
508  set strCommandText to argCommandText as text
509  log "コマンド開始\r" & strCommandText & "\r"
510  set strExec to ("/bin/zsh -c '" & strCommandText & "'") as text
511  #コマンド実行
512  try
513    set strResnponse to (do shell script strExec) as text
514    log "コマンド終了"
515  on error
516    return false
517  end try
518  return true
519end doZshShellScript
520
521
522##########################
523# MDLSキー名称翻訳
524to doTranslationKeyName(argJaDict, argKeystring)
525  set ocidTranslation to argJaDict's valueForKey:(argKeystring)
526  if ocidTranslation = (missing value) then
527    return argKeystring
528  else
529    return ocidTranslation
530  end if
531end doTranslationKeyName
AppleScriptで生成しました

|

[mdsl]スポットライトのメタデータをHTMLに表示する

MDLS2HTML.scpt

AppleScript サンプルコード

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

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# フォント情報 Apple Type Servicesのメタ情報のHTML表示
005# HTMLはテンポラリーに作成して使い捨てにした
006#com.cocolog-nifty.quicktimer.icefloe
007----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
008use AppleScript version "2.8"
009use framework "Foundation"
010use framework "UniformTypeIdentifiers"
011use framework "AppKit"
012use scripting additions
013
014property refMe : a reference to current application
015
016
017set appFileManager to refMe's NSFileManager's defaultManager()
018
019#############################
020# MDLSキー名称翻訳スキーム読み込み
021#入力パス
022set appFileManager to refMe's NSFileManager's defaultManager()
023set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSSystemDomainMask))
024set ocidLibraryDirPathURL to ocidURLsArray's firstObject()
025set ocidFilePathURL to ocidLibraryDirPathURL's URLByAppendingPathComponent:("Frameworks/CoreSpotlight.framework/Versions/A/Resources/schema.loctable") isDirectory:(false)
026#読み込み
027set listResponse to refMe's NSDictionary's alloc()'s initWithContentsOfURL:(ocidFilePathURL) |error| :(reference)
028set ocidPlistDict to (item 1 of listResponse)
029#日本語ローカライズのDictを取得
030set ocidJaDict to ocidPlistDict's objectForKey:("ja")
031
032
033
034
035#############################
036###ダイアログ
037set strName to (name of current application) as text
038if strName is "osascript" then
039  tell application "SystemUIServer" to activate
040else
041  tell current application to activate
042end if
043set appFileManager to refMe's NSFileManager's defaultManager()
044set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDesktopDirectory) inDomains:(refMe's NSUserDomainMask))
045set ocidDesktopDirPathURL to ocidURLsArray's firstObject()
046set aliasDefaultLocation to (ocidDesktopDirPathURL's absoluteURL()) as alias
047set listUTI to {"public.item"}
048set strMes to ("ファイルを選んでください") as text
049set strPrompt to ("ファイルを選んでください") as text
050try
051  tell application "SystemUIServer"
052    activate
053    ### ファイル選択時
054    set listAliasFilePath to (choose file strMes with prompt strPrompt default location aliasDefaultLocation of type listUTI with invisibles, multiple selections allowed and showing package contents) as list
055  end tell
056on error
057  log "エラーしました"
058  return "エラーしました"
059end try
060if listAliasFilePath is {} then
061  return "選んでください"
062end if
063
064
065
066########################
067# URLDICT作成
068#{ファイル名:URL}形式
069set ocidFilePathNameDict to refMe's NSMutableDictionary's alloc()'s init()
070
071repeat with itemAliasFilePath in listAliasFilePath
072  set aliasFilePath to itemAliasFilePath as alias
073  set strFilePath to (POSIX path of aliasFilePath) as text
074  set ocidFilePathStr to (refMe's NSString's stringWithString:(strFilePath))
075  set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
076  set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:false)
077  #ファイル名
078  set strFileName to ocidFilePathURL's lastPathComponent() as text
079  #ファイル名をキーにしてURLが値のDICT
080  (ocidFilePathNameDict's setObject:(ocidFilePathURL) forKey:(strFileName))
081end repeat
082
083########################
084#ソート
085#全てのキー=ファイル名を
086set ocidAllKey to ocidFilePathNameDict's allKeys()
087#名前順にソートして
088set ocidAllKeys to ocidAllKey's sortedArrayUsingSelector:("localizedStandardCompare:")
089
090########################
091#テンポラリーが保存先
092set appFileManager to refMe's NSFileManager's defaultManager()
093set ocidTempDirURL to appFileManager's temporaryDirectory()
094#UUIDをフォルダ名
095set ocidUUID to refMe's NSUUID's alloc()'s init()
096set ocidUUIDString to ocidUUID's UUIDString
097set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
098#フォルダ作成
099set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s init()
100ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
101set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:(true) attributes:(ocidAttrDict) |error| :(reference)
102
103
104########################
105#ソートしたキー順=ファイル名順に処理
106repeat with itemKey in ocidAllKeys
107  #ファイルパス
108  set ocidItemFileURL to (ocidFilePathNameDict's objectForKey:(itemKey))
109  set strItemFilePath to ocidItemFileURL's |path|() as text
110  #Plist出力先
111  set ocidPlistFileName to (itemKey's stringByAppendingString:(".plist"))
112  set ocidPlistFilePathURL to (ocidSaveDirPathURL's URLByAppendingPathComponent:(ocidPlistFileName) isDirectory:false)
113  set strPlistFilePath to ocidPlistFilePathURL's |path|() as text
114  #コマンド実行
115  set strCommandText to ("/usr/bin/mdls \"" & strItemFilePath & "\" -plist \"" & strPlistFilePath & "\"") as text
116  set boolDone to doZshShellScript(strCommandText)
117  if boolDone is false then
118    log (itemKey as text) & "mdlsで失敗しました"
119  end if
120  #Plist読み込み
121  set listResponse to (refMe's NSMutableDictionary's dictionaryWithContentsOfURL:(ocidPlistFilePathURL) |error| :(reference))
122  set ocidPlistDict to (item 1 of listResponse)
123  #DICTの値入れ替え
124  (ocidFilePathNameDict's setObject:(ocidPlistDict) forKey:(itemKey))
125  
126end repeat
127
128
129##########################################
130####本処理 HTML生成
131##########################################
132#headerに渡すエレメント
133set ocidSetHeaderElement to (refMe's NSXMLElement's elementWithName:("div"))
134set ocidH3Element to refMe's NSXMLElement's elementWithName:("h3")
135(ocidH3Element's setStringValue:("メタデータ一覧"))
136(ocidSetHeaderElement's addChild:(ocidH3Element))
137
138###################
139#footerに渡すエレメント
140set ocidSetFooterElement to (refMe's NSXMLElement's elementWithName:("div"))
141set ocidAElement to refMe's NSXMLElement's elementWithName:("a")
142set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("href") stringValue:("https://quicktimer.cocolog-nifty.com/"))
143(ocidAElement's addAttribute:(ocidAddNode))
144set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("target") stringValue:("_blank"))
145(ocidAElement's addAttribute:(ocidAddNode))
146set strContents to ("AppleScriptで生成しました") as text
147(ocidAElement's setStringValue:(strContents))
148(ocidSetFooterElement's addChild:(ocidAElement))
149
150###################
151#articleに渡すエレメント
152set ocidSetArticleElement to (refMe's NSXMLElement's elementWithName:("div"))
153set ocidH3Element to (refMe's NSXMLElement's elementWithName:("h3"))
154(ocidH3Element's setStringValue:("Spotlightのメタ情報の出力"))
155(ocidSetArticleElement's addChild:(ocidH3Element))
156
157###################
158#テーブル部生成開始
159set ocidTableElement to refMe's NSXMLElement's elementWithName:("table")
160###################
161#【caption】
162set ocidCaptionElement to refMe's NSXMLElement's elementWithName:("caption")
163ocidCaptionElement's setStringValue:("MDLS メタデータ リスト 値の0−1はfalse trueの場合もあります")
164ocidTableElement's addChild:(ocidCaptionElement)
165###################
166#【colgroup】
167set ocidColgroupElement to refMe's NSXMLElement's elementWithName:("colgroup")
168###################
169#【col】col生成
170set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
171set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("No"))
172(ocidAddElement's addAttribute:(ocidAddNode))
173(ocidColgroupElement's addChild:(ocidAddElement))
174#
175set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
176set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Key"))
177(ocidAddElement's addAttribute:(ocidAddNode))
178(ocidColgroupElement's addChild:(ocidAddElement))
179#
180set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
181set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Value"))
182(ocidAddElement's addAttribute:(ocidAddNode))
183(ocidColgroupElement's addChild:(ocidAddElement))
184#テーブルエレメントに追加
185ocidTableElement's addChild:(ocidColgroupElement)
186
187###################
188#【thead】
189set ocidTheadElement to refMe's NSXMLElement's elementWithName:("thead")
190#TR
191set ocidTrElement to refMe's NSXMLElement's elementWithName:("tr")
192#TH
193set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
194set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("No"))
195(ocidAddElement's addAttribute:(ocidAddNode))
196set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("No"))
197(ocidAddElement's addAttribute:(ocidAddNode))
198set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
199(ocidAddElement's addAttribute:(ocidAddNode))
200(ocidAddElement's setStringValue:("\"))
201(ocidTrElement's addChild:(ocidAddElement))
202#
203set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
204set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Key"))
205(ocidAddElement's addAttribute:(ocidAddNode))
206set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("Key"))
207(ocidAddElement's addAttribute:(ocidAddNode))
208set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
209(ocidAddElement's addAttribute:(ocidAddNode))
210(ocidAddElement's setStringValue:("キー名"))
211(ocidTrElement's addChild:(ocidAddElement))
212#
213set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
214set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("Value"))
215(ocidAddElement's addAttribute:(ocidAddNode))
216set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("Value"))
217(ocidAddElement's addAttribute:(ocidAddNode))
218set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
219(ocidAddElement's addAttribute:(ocidAddNode))
220(ocidAddElement's setStringValue:("値"))
221(ocidTrElement's addChild:(ocidAddElement))
222#TRをTHEADにセット
223ocidTheadElement's addChild:(ocidTrElement)
224#THEADをテーブルにセット
225ocidTableElement's addChild:(ocidTheadElement)
226########################################
227#【tbody】
228set ocidTbodyElement to refMe's NSXMLElement's elementWithName:("tbody")
229#ITEM
230set numCntArray to ocidAllKeys's |count|()
231#データ数繰り返し
232repeat with itemNo from 0 to (numCntArray - 1) by 1
233  
234  #データ取り出し
235  set ocidItemKey to (ocidAllKeys's objectAtIndex:(itemNo))
236  
237  
238  ##############
239  #TRの開始
240  set ocidTrElement to (refMe's NSXMLElement's elementWithName:("tr"))
241  ####項番処理
242  set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
243  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("項目番号:" & itemNo))
244  (ocidThElement's addAttribute:(ocidAddNode))
245  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("NO"))
246  (ocidThElement's addAttribute:(ocidAddNode))
247  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("row"))
248  (ocidThElement's addAttribute:(ocidAddNode))
249  (ocidThElement's setStringValue:((itemNo + 1) as text))
250  (ocidTrElement's addChild:(ocidThElement))
251  #
252  set ocidTdElement to (refMe's NSXMLElement's elementWithName:("th"))
253  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
254  (ocidTdElement's addAttribute:(ocidAddNode))
255  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("key"))
256  (ocidTdElement's addAttribute:(ocidAddNode))
257  (ocidTdElement's setStringValue:("ファイル名"))
258  (ocidTrElement's addChild:(ocidTdElement))
259  
260  #
261  set ocidTdElement to (refMe's NSXMLElement's elementWithName:("th"))
262  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
263  (ocidTdElement's addAttribute:(ocidAddNode))
264  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("key"))
265  (ocidTdElement's addAttribute:(ocidAddNode))
266  (ocidTdElement's setStringValue:(ocidItemKey's stringValue()))
267  (ocidTrElement's addChild:(ocidTdElement))
268  (ocidTbodyElement's addChild:(ocidTrElement))
269  
270  
271  #キーからmdlsのDICTを取り出して
272  set ocidItemDict to (ocidFilePathNameDict's objectForKey:(ocidItemKey))
273  #mdlsのキーを
274  set ocidItemAllKeys to ocidItemDict's allKeys()
275  #ソートして
276  set ocidItemAllKeySort to (ocidItemAllKeys's sortedArrayUsingSelector:("localizedStandardCompare:"))
277  #順番に処理
278  repeat with itemSortKey in ocidItemAllKeySort
279    
280    ##############
281    #TRの開始
282    set ocidTrElement to (refMe's NSXMLElement's elementWithName:("tr"))
283    ####項番処理
284    set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
285    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("項目番号:" & itemNo))
286    (ocidThElement's addAttribute:(ocidAddNode))
287    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("NO"))
288    (ocidThElement's addAttribute:(ocidAddNode))
289    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("row"))
290    (ocidThElement's addAttribute:(ocidAddNode))
291    (ocidThElement's setStringValue:(""))
292    (ocidTrElement's addChild:(ocidThElement))
293    #
294    set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
295    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
296    (ocidTdElement's addAttribute:(ocidAddNode))
297    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("key"))
298    (ocidTdElement's addAttribute:(ocidAddNode))
299    #
300    set ocidTransKeyName to doTranslationKeyName(ocidJaDict, itemSortKey)
301    (ocidTdElement's setStringValue:(ocidTransKeyName))
302    (ocidTrElement's addChild:(ocidTdElement))
303    
304    
305    #
306    set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
307    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(itemKey))
308    (ocidTdElement's addAttribute:(ocidAddNode))
309    set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("Value"))
310    (ocidTdElement's addAttribute:(ocidAddNode))
311    
312    #キーの値を取り出して
313    set ocidItemObject to (ocidItemDict's objectForKey:(itemSortKey))
314    #クラスを調べて
315    set strClass to ocidItemObject's className() as text
316    #Arrayなら別処理
317    if strClass contains "Array" then
318      repeat with itemObjectItem in ocidItemObject
319        
320        set ocidTextNode to (refMe's NSXMLNode's alloc()'s initWithKind:(refMe's NSXMLTextKind))
321        
322        
323        #クラスを調べて
324        set strItemClass to itemObjectItem's className() as text
325        #DATEなら
326        if strItemClass contains "Date" then
327          #日付フォーマットする
328          set appFormatter to refMe's NSDateFormatter's alloc()'s init()
329          (appFormatter's setLocale:(refMe's NSLocale's localeWithLocaleIdentifier:"ja_JP_POSIX"))
330          (appFormatter's setDateFormat:("yyyy-MM-dd'T'HH:mm:ss'Z'"))
331          set ocidDateAndTime to (appFormatter's stringFromDate:(itemObjectItem))
332          
333          #
334          (ocidTextNode's setStringValue:(ocidDateAndTime))
335        else
336          (ocidTextNode's setStringValue:(itemObjectItem's stringValue()))
337        end if
338        
339        (ocidTdElement's addChild:(ocidTextNode))
340        set ocidBRelement to (refMe's NSXMLElement's alloc()'s initWithName:("br"))
341        (ocidTdElement's addChild:(ocidBRelement))
342        
343      end repeat
344    else if (itemSortKey as text) contains "Size" then
345      set ocidSetValue to ((ocidItemObject as integer) / 1000000) & " MB" as text
346      (ocidTdElement's setStringValue:(ocidSetValue))
347    else if strClass contains "Date" then
348      set appFormatter to refMe's NSDateFormatter's alloc()'s init()
349      (appFormatter's setLocale:(refMe's NSLocale's localeWithLocaleIdentifier:"ja_JP_POSIX"))
350      (appFormatter's setDateFormat:("yyyy-MM-dd'T'HH:mm:ss'Z'"))
351      set ocidSetValue to (appFormatter's stringFromDate:(ocidItemObject))
352      (ocidTdElement's setStringValue:(ocidSetValue))
353    else
354      (ocidTdElement's setStringValue:(ocidItemObject's stringValue()))
355    end if
356    (ocidTrElement's addChild:(ocidTdElement))
357    (ocidTbodyElement's addChild:(ocidTrElement))
358  end repeat
359  
360  
361  
362  
363  
364  
365  ##############
366  #TRの開始
367  set ocidTrElement to (refMe's NSXMLElement's elementWithName:("tr"))
368  set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
369  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("colspan") stringValue:("3"))
370  (ocidTdElement's addAttribute:(ocidAddNode))
371  set ocidBRelement to (refMe's NSXMLElement's alloc()'s initWithName:("br"))
372  (ocidTdElement's addChild:(ocidBRelement))
373  (ocidTrElement's addChild:(ocidTdElement))
374  (ocidTbodyElement's addChild:(ocidTrElement))
375end repeat
376#TBODYをテーブルにセット
377ocidTableElement's addChild:(ocidTbodyElement)
378##############################
379#【tfoot】
380set ocidTfootElement to refMe's NSXMLElement's elementWithName:("tfoot")
381#TR
382set ocidTrElement to refMe's NSXMLElement's elementWithName:("tr")
383#colspan指定して1行でセット
384set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
385set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("テーブルの終わり"))
386(ocidThElement's addAttribute:(ocidAddNode))
387set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("colspan") stringValue:("9"))
388(ocidThElement's addAttribute:(ocidAddNode))
389set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("row"))
390(ocidThElement's addAttribute:(ocidAddNode))
391#
392set strContents to ("項目数 : " & (numCntArray as text) & "") as text
393(ocidThElement's setStringValue:(strContents))
394#THをTRにセットして
395ocidTrElement's addChild:(ocidThElement)
396#TRをTFOOTにセット
397ocidTfootElement's addChild:(ocidTrElement)
398#TFOOTをテーブルにセット
399ocidTableElement's addChild:(ocidTfootElement)
400#テーブルをアーティクルにセット
401ocidSetArticleElement's addChild:(ocidTableElement)
402
403##############################
404#HTMLにする
405##############################
406set ocidHTML to doMakeRootElement({ocidSetHeaderElement, ocidSetArticleElement, ocidSetFooterElement})
407
408#####保存
409#
410set strDateNo to doGetDateNo("yyyyMMdd-hhmm")
411
412set strFileName to ("Meta_List." & strDateNo & ".html") as text
413set ocidSaveFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(strFileName) isDirectory:false
414
415
416#読み取りやすい表示
417set ocidXMLdata to ocidHTML's XMLDataWithOptions:(refMe's NSXMLNodePrettyPrint)
418set listDone to ocidXMLdata's writeToURL:(ocidSaveFilePathURL) options:(refMe's NSDataWritingAtomic) |error| :(reference)
419
420####ブラウザで開く
421set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
422set boolDone to appSharedWorkspace's openURL:(ocidSaveFilePathURL)
423
424
425
426
427
428
429
430##########################################
431####日付情報の取得
432##########################################
433to doGetDateNo(strDateFormat)
434  ####日付情報の取得
435  set ocidDate to refMe's NSDate's |date|()
436  ###日付のフォーマットを定義
437  set ocidNSDateFormatter to refMe's NSDateFormatter's alloc()'s init()
438  ocidNSDateFormatter's setLocale:(refMe's NSLocale's localeWithLocaleIdentifier:"en_US")
439  ocidNSDateFormatter's setDateFormat:strDateFormat
440  set ocidDateAndTime to ocidNSDateFormatter's stringFromDate:ocidDate
441  set strDateAndTime to ocidDateAndTime as text
442  return strDateAndTime
443end doGetDateNo
444
445############################################################
446# 基本的なHTMLの構造
447(*
448doMakeRootElement({argHeaderContents, argArticleContents, argFooterContents})
449HTMLのBODY部
450header
451article
452footerにそれぞれAddchildするデータをリストで渡す
453戻り値はRootエレメントにセットされた
454NSXMLDocumentを戻すので 保存すればOK
455*)
456############################################################
457to doMakeRootElement({argHeaderContents, argArticleContents, argFooterContents})
458  #XML初期化
459  set ocidXMLDoc to refMe's NSXMLDocument's alloc()'s init()
460  ocidXMLDoc's setDocumentContentKind:(refMe's NSXMLDocumentHTMLKind)
461  # DTD付与
462  set ocidDTD to refMe's NSXMLDTD's alloc()'s init()
463  ocidDTD's setName:("html")
464  ocidXMLDoc's setDTD:(ocidDTD)
465  #
466  set ocidRootElement to refMe's NSXMLElement's elementWithName:("html")
467  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("lang") stringValue:("ja")
468  ocidRootElement's addAttribute:(ocidAddNode)
469  #
470  set ocidHeadElement to refMe's NSXMLElement's elementWithName:("head")
471  #
472  set ocidAddElement to refMe's NSXMLElement's elementWithName:("title")
473  ocidAddElement's setStringValue:("TSV2HTML")
474  ocidHeadElement's addChild:(ocidAddElement)
475  # http-equiv
476  set ocidAddElement to refMe's NSXMLElement's elementWithName:("meta")
477  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("http-equiv") stringValue:("Content-Type")
478  ocidAddElement's addAttribute:(ocidAddNode)
479  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("content") stringValue:("text/html; charset=UTF-8")
480  ocidAddElement's addAttribute:(ocidAddNode)
481  ocidHeadElement's addChild:(ocidAddElement)
482  #
483  set ocidAddElement to refMe's NSXMLElement's elementWithName:("meta")
484  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("name") stringValue:("viewport")
485  ocidAddElement's addAttribute:(ocidAddNode)
486  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("content") stringValue:("width=720")
487  ocidAddElement's addAttribute:(ocidAddNode)
488  ocidHeadElement's addChild:(ocidAddElement)
489  #
490  set ocidAddElement to refMe's NSXMLElement's elementWithName:("style")
491  ocidAddElement's setStringValue:("body {margin: 10px;background-color: #FFFFFF;}table {border-spacing: 0;caption-side: top;font-family: system-ui;}thead th {border: solid 1px #666666;padding: .5ch 1ch;border-block-width: 1px 0;border-inline-width: 1px 0;&:first-of-type {border-start-start-radius: .5em}&:last-of-type {border-start-end-radius: .5em;border-inline-end-width: 1px}}tbody th {word-wrap: break-all;overflow-x: hidden;max-width: 240px;border-block-width: 1px 0;border-inline-width: 1px 0; &:last-of-type { border-inline-width: 1px;}}tbody td {word-wrap: break-all;overflow-wrap: anywhere;text-overflow: ellipsis;max-width: 720px;border-spacing: 0;border: solid 1px #666666;padding: .5ch 1ch;border-block-width: 1px 0;border-inline-width: 1px 0;&:last-of-type {border-inline-end-width: 1px}}tbody th {border-spacing: 0;border: solid 1px #666666;padding: .5ch 1ch;border-block-width: 1px 0;border-inline-width: 1px 0;&:last-of-type {border-inline-end-width: 1px}&:first-of-type {border-inline-width: 1px 0;}}tbody tr:nth-of-type(odd) {background: #F2F2F2;}.kind_string {font-size: 0.75em;}.date_string {font-size: 0.5em;}tfoot th {border: solid 1px #666666;padding: .5ch 1ch;&:first-of-type {border-end-start-radius: .5em}&:last-of-type {border-end-end-radius: .5em;border-inline-end-width: 1px}} ")
492  ocidHeadElement's addChild:(ocidAddElement)
493  ocidRootElement's addChild:(ocidHeadElement)
494  #
495  #ボディエレメント
496  set ocidBodyElement to refMe's NSXMLElement's elementWithName:("body")
497  #ヘッダー
498  set ocidHeaderElement to refMe's NSXMLElement's elementWithName:("header")
499  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("header")
500  ocidHeaderElement's addAttribute:(ocidAddNode)
501  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_header")
502  ocidHeaderElement's addAttribute:(ocidAddNode)
503  ocidHeaderElement's addChild:(argHeaderContents)
504  ocidBodyElement's addChild:(ocidHeaderElement)
505  #アーティクル
506  set ocidArticleElement to refMe's NSXMLElement's elementWithName:("article")
507  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("article")
508  ocidArticleElement's addAttribute:(ocidAddNode)
509  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_article")
510  ocidArticleElement's addAttribute:(ocidAddNode)
511  ocidArticleElement's addChild:(argArticleContents)
512  ocidBodyElement's addChild:(ocidArticleElement)
513  #フッター
514  set ocidFooterElement to refMe's NSXMLElement's elementWithName:("footer")
515  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("footer")
516  ocidFooterElement's addAttribute:(ocidAddNode)
517  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_footer")
518  ocidFooterElement's addAttribute:(ocidAddNode)
519  ocidFooterElement's addChild:(argFooterContents)
520  ocidBodyElement's addChild:(ocidFooterElement)
521  #ボディをROOTエレメントにセット
522  ocidRootElement's addChild:(ocidBodyElement)
523  #ROOTをXMLにセット
524  ocidXMLDoc's setRootElement:(ocidRootElement)
525  #値を戻す
526  return ocidXMLDoc
527end doMakeRootElement
528
529
530
531##########################
532# 【N】ZSH 実行
533to doZshShellScript(argCommandText)
534  set strCommandText to argCommandText as text
535  log "コマンド開始\r" & strCommandText & "\r"
536  set strExec to ("/bin/zsh -c '" & strCommandText & "'") as text
537  #コマンド実行
538  try
539    set strResnponse to (do shell script strExec) as text
540    log "コマンド終了"
541  on error
542    return false
543  end try
544  return true
545end doZshShellScript
546
547
548##########################
549# MDLSキー名称翻訳
550to doTranslationKeyName(argJaDict, argKeystring)
551  set ocidTranslation to argJaDict's valueForKey:(argKeystring)
552  if ocidTranslation = (missing value) then
553    return argKeystring
554  else
555    return ocidTranslation
556  end if
557end doTranslationKeyName
AppleScriptで生成しました

|

[MDLS]翻訳済みのキー・スキーマplistを使って翻訳する

MDLS翻訳済みのキー名称v2.scpt

AppleScript サンプルコード

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

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004#MDLS翻訳済みのキー名称
005#
006#com.cocolog-nifty.quicktimer.icefloe
007----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
008use AppleScript version "2.8"
009use framework "Foundation"
010use framework "UniformTypeIdentifiers"
011use framework "AppKit"
012use scripting additions
013property refMe : a reference to current application
014
015#入力パス
016set appFileManager to refMe's NSFileManager's defaultManager()
017set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSSystemDomainMask))
018set ocidLibraryDirPathURL to ocidURLsArray's firstObject()
019set ocidFilePathURL to ocidLibraryDirPathURL's URLByAppendingPathComponent:("Frameworks/CoreSpotlight.framework/Versions/A/Resources/schema.loctable") isDirectory:(false)
020#読み込み
021set listResponse to refMe's NSDictionary's alloc()'s initWithContentsOfURL:(ocidFilePathURL) |error| :(reference)
022set ocidPlistDict to (item 1 of listResponse)
023#日本語ローカライズのDictを取得
024set ocidJaDict to ocidPlistDict's objectForKey:("ja")
025
026
027
028log (ocidJaDict's valueForKey:("kMDItemUsedDates")) as text
029
030
031log doTranslationKeyName("kMDItemUsedDates") as text
032
033log doTranslationKeyName("kMDItemUsedDatesXXXXX") as text
034
035
036#キー名の翻訳
037to doTranslationKeyName(argKeystring)
038  #入力パス
039  set appFileManager to refMe's NSFileManager's defaultManager()
040  set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSSystemDomainMask))
041  set ocidLibraryDirPathURL to ocidURLsArray's firstObject()
042  set ocidFilePathURL to ocidLibraryDirPathURL's URLByAppendingPathComponent:("Frameworks/CoreSpotlight.framework/Versions/A/Resources/schema.loctable") isDirectory:(false)
043  #読み込み
044  set listResponse to refMe's NSDictionary's alloc()'s initWithContentsOfURL:(ocidFilePathURL) |error| :(reference)
045  set ocidPlistDict to (item 1 of listResponse)
046  #日本語ローカライズのDictを取得
047  set ocidJaDict to ocidPlistDict's objectForKey:("ja")
048  set ocidTranslation to ocidJaDict's valueForKey:(argKeystring)
049  if ocidTranslation = (missing value) then
050    return argKeystring
051  else
052    return ocidTranslation
053  end if
054end doTranslationKeyName
AppleScriptで生成しました

|

[MDLS]翻訳済みのキーレコードを使って翻訳する

MDLS翻訳済みのキー名称.scpt

AppleScript サンプルコード

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

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004#MDLS翻訳済みのキー名称
005#
006#com.cocolog-nifty.quicktimer.icefloe
007----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
008use AppleScript version "2.8"
009use framework "Foundation"
010use framework "UniformTypeIdentifiers"
011use framework "AppKit"
012use scripting additions
013property refMe : a reference to current application
014
015property recordMDLSkeys : a reference to {com_blackmagic_design_braw_movie_clip_anamorphic:"Anamorphic", com_blackmagic_design_braw_movie_frame0_aperture:"Aperture", com_blackmagic_design_braw_movie_clip_firmware_version:"Camera Firmware Version", com_blackmagic_design_braw_movie_clip_camera_type:"Camera Type", com_blackmagic_design_braw_movie_clip_resolution:"Clip Resolution", com_blackmagic_design_braw_movie_clip_braw_compression_ratio:"Compression Ratio", com_pixelmatorteam_spotlight_attribute_document_bit_depth_per_channel:"Depth", com_apple_xcode_dsym_paths:"dSYM paths", com_apple_xcode_dsym_uuids:"dSYM UUIDs", |kMDItemEXIFGPSVersion|:"EXIF GPSバージョン", |kMDItemEXIFVersion|:"EXIFバージョン", com_blackmagic_design_braw_movie_frame0_focal_length:"Focal Length", com_apple_ats_name_fond:"FOND名", |kMDItemFNumber|:"F値", |kMDItemIsGeneralMIDISequence|:"General MIDIシーケンス", |net_earthlingsoft_UnicodeChecker_Glyph|:"Glyph", com_pixelmatorteam_spotlight_attribute_document_is_hdr:"HDR", com_blackmagic_design_braw_movie_frame0_internal_nd:"Internal ND", com_blackmagic_design_braw_movie_frame0_iso:"ISO", |kMDItemISOSpeed|:"ISO感度", com_pixelmatorteam_spotlight_attribute_document_layers_count_info:"Layers", com_blackmagic_design_braw_movie_clip_lens_type:"Lens Type", com_apple_ats_name_postscript:"PostScript名", com_blackmagic_design_braw_movie_clip_rotation:"Rotation", com_blackmagic_design_braw_movie_clip_sensor_area_captured:"Sensor Area Captured", com_blackmagic_design_braw_movie_frame0_sensor_rate:"Sensor Rate", com_blackmagic_design_braw_movie_frame0_shutter_value:"Shutter", |kMDItemFinderComment|:"Spotlightコメント", |net_earthlingsoft_UnicodeChecker_UnicodeName|:"Unicode Name", |net_earthlingsoft_UnicodeChecker_UnihanDefinition|:"Unihan Definition", |kMDItemURL|:"URL", com_blackmagic_design_braw_movie_frame0_white_balance_kelvin:"White Balance Kelvin", com_blackmagic_design_braw_movie_frame0_white_balance_tint:"White Balance Tint", |kMDItemIsApplicationManaged|:"アプリケーションによる管理", |kMDItemApplicationCategories|:"アプリケーションのカテゴリ", |kMDItemAlbum|:"アルバム", |kMDItemHasAlphaChannel|:"アルファチャンネル", |kMDItemInstantMessageAddresses|:"インスタントメッセージ", |kMDItemEditors|:"エディタ", |kMDItemEncodingApplications|:"エンコーディングソフト", |kMDItemAudioEncodingApplication|:"オーディオエンコード", |kMDItemAudioChannelCount|:"オーディオチャンネル", |kMDItemAudioBitRate|:"オーディオのビットレート", |kMDItemFSOwnerUserID|:"オーナー", |kMDItemOriginalSource|:"オリジナルソース", |kMDItemOriginalFormat|:"オリジナルフォーマット", |kMDItemFSHasCustomIcon|:"カスタムアイコン", |kMDItemAppStoreCategory|:"カテゴリ", |kMDItemProfileName|:"カラープロファイル", |kMDItemKeywords|:"キーワード", |kMDItemKeySignature|:"キー署名", |kMDItemFSOwnerGroupID|:"グループ", |kMDItemXMPCredit|:"クレジット", |kMDItemCodecs|:"コーデック", |kMDItemComment|:"コメント", |kMDItemCreator|:"コンテンツの作成", |kMDItemXMPDigitalSourceType|:"コンテンツの作成", |kMDItemContentCreationDate|:"コンテンツの作成日", |kMDItemContentModificationDate|:"コンテンツの変更日", |kMDItemAudioSampleRate|:"サンプルレート", |kMDItemGenre|:"ジャンル", com_apple_ats_name_style:"スタイル名", |kMDItemStreamable|:"ストリーミング可能", |kMDItemEmailConversationID|:"スレッドID", |kMDItemSecurityMethod|:"セキュリティ", |kMDItemTitle|:"タイトル", |kMDItemUserTags|:"タグ", |kMDItemDirector|:"ディレクター", |kMDItemTheme|:"テーマ", |kMDItemTextContent|:"テキストコンテンツ", |kMDItemTempo|:"テンポ", |kMDItemAudioTrackNumber|:"トラック番号", |kMDItemVersion|:"バージョン", |kMDItemPerformers|:"パフォーマー", |kMDItemPixelCount|:"ピクセル数", |kMDItemBitsPerSample|:"ビット/サンプル", |kMDItemVideoBitRate|:"ビデオのビットレート", |kMDItemFSIsStationery|:"ひな形", |kMDItemFSSize|:"ファイルサイズ", |kMDItemFSLabel|:"ファイルのラベル", |kMDItemPath|:"ファイルパス名", |kMDItemFSName|:"ファイル名", com_apple_ats_name_family:"ファミリー名", |kMDItemFonts|:"フォント", |com_apple_mail_flagColor|:"フラグの色", com_apple_mail_flagged:"フラグ付き", |kMDItemFlashOnOff|:"フラッシュ", |kMDItemProjects|:"プロジェクト", |kMDItemProducer|:"プロデューサー", |kMDItemNumberOfPages|:"ページ", |kMDItemPageHeight|:"ページの高さ", |kMDItemPageWidth|:"ページの幅", |kMDItemWhiteBalance|:"ホワイトバランス", |kMDItemMusicalGenre|:"ミュージックのジャンル", |kMDItemInformation|:"ムービー情報", |kMDItemEmailAddresses|:"メールアドレス", |com_apple_mail_messageID|:"メッセージID", |kMDItemMediaTypes|:"メディアのタイプ", |kMDItemMediaExtensions|:"メディア機能拡張", |_kMDItemSharedItemCurrentUserRole|:"ユーザの役割", |kMDItemAppleLoopDescriptors|:"ループディスクリプタ", |kMDItemAppleLoopsKeyFilterType|:"ループのスケールの種類", |kMDItemAppleLoopsRootKey|:"ループの元のキー", |kMDItemAppleLoopsLoopMode|:"ループファイルの種類", |kMDItemLayerNames|:"レイヤー", |kMDItemLensModel|:"レンズの機種", |kMDItemLatitude|:"緯度", |kMDItemMusicalInstrumentCategory|:"音源のカテゴリ", |kMDItemMusicalInstrumentName|:"音源の名前", |kMDItemStartDate|:"開始日", com_apple_mail_read:"開封済みの状況", |kMDItemFSIsExtensionHidden|:"拡張子が非表示のファイル", |kMDItemDueDate|:"期限", |kMDItemAcquisitionModel|:"機器の機種", |kMDItemAcquisitionMake|:"機器の製造元", |kMDItemRecordingYear|:"記録/収録された年", |_kMDItemIsShared|:"共有されている", |_kMDItemOwnerName|:"共有ファイルオーナー", |_kMDItemSharedProjectID|:"共有プロジェクトID", |kMDItemLongitude|:"経度", |kMDItemRights|:"権利", |kMDItemHeadline|:"見出し", |kMDItemLanguages|:"言語", |kMDItemPublishers|:"公開者", |kMDItemAperture|:"絞り値", |kMDItemPurchaseDate|:"購入日", |kMDItemFSNodeCount|:"項目数", |kMDItemPixelHeight|:"高さ(ピクセル)", |kMDItemAltitude|:"高度", |kMDItemDurationSeconds|:"再生時間", |kMDItemLastUsedDate|:"最後に開いた日", |com_apple_mail_dateLastViewed|:"最後に表示した日付", |kMDItemMaxAperture|:"最大絞り", |kMDItemComposer|:"作曲者", |kMDItemLyricist|:"作詞家", |kMDItemContributors|:"作成協力者", |kMDItemAuthors|:"作成者", |kMDItemAuthorAddresses|:"作成者のメールアドレス", |kMDItemAuthorEmailAddresses|:"作成者のメールアドレス", |kMDItemFSCreationDate|:"作成日", |kMDItemParticipants|:"参加者", |kMDItemLogicSongUsedUltrabeatFiles|:"使用中のUltrabeatオーディオファイル", |kMDItemLogicSongUsedImpulseResponses|:"使用中のインパルスレスポンス", |kMDItemLogicSongUsedAudioFiles|:"使用中のオーディオファイル", |kMDItemLogicSongUsedEXSInstruments|:"使用中のサンプラー音源", |kMDItemLogicSongUsedVideoFiles|:"使用中のビデオファイル", |kMDItemUsedDates|:"使用日", |kMDItemCity|:"市区町村", |kMDItemInstructions|:"指示", |kMDItemIdentifier|:"識別子", |kMDItemExecutableArchitectures|:"実行可能アーキテクチャ", |kMDItemExecutablePlatform|:"実行可能プラットフォーム", |kMDItemSubject|:"主題/件名", |kMDItemKind|:"種類", |kMDItemRecipients|:"受信者", |kMDItemRecipientAddresses|:"受信者のメールアドレス", |kMDItemRecipientEmailAddresses|:"受信者のメールアドレス", |com_apple_mail_dateReceived|:"受信日時", |kMDItemRecordingDate|:"収録日", |kMDItemEndDate|:"終了日", |kMDItemDocumentContainer|:"書類のコンテナ", |kMDItemFocalLength|:"焦点距離", |kMDItemNamedLocation|:"場所", |kMDItemColorSpace|:"色空間", |kMDItemResolutionHeightDPI|:"垂直方向解像度", |kMDItemResolutionWidthDPI|:"水平方向解像度", com_apple_ats_name_full:"正式名称", |kMDItemRedEyeOnOff|:"赤目", |kMDItemDescription|:"説明", |kMDItemOrganizations|:"組織", |kMDItemTotalBitRate|:"総ビットレート", |kMDItemMeteringMode|:"測光モード", |kMDItemAudiences|:"対象ユーザ", |kMDItemLogicSongAlternatives|:"代替", |kMDItemAlternateNames|:"代替表示名", net_sourceforge_skim_app_dimensions:"大きさ", |kMDItemCountry|:"地域", |kMDItemCopyright|:"著作権", |kMDItemDateAdded|:"追加日", |kMDItemCoverage|:"適用範囲", |com_apple_mail_attachmentTypes|:"添付ファイルのタイプ", |com_apple_mail_attachmentNames|:"添付ファイル名", |kMDItemPhoneNumbers|:"電話番号", |kMDItemStateOrProvince|:"都道府県", |kMDItemWhereFroms|:"入手先", |kMDItemDeliveryType|:"配信のタイプ", |kMDItemTimeSignature|:"拍子", |kMDItemDisplayName|:"表示名", |kMDItemStarRating|:"評価", |kMDItemFSInvisible|:"不可視のファイル", |kMDItemPixelWidth|:"幅(ピクセル)", |kMDItemPhysicalSize|:"物理サイズ", |kMDItemFSContentChangeDate|:"変更日", |com_apple_mail_repliedTo|:"返信済み", |kMDItemOrientation|:"方向", |kMDItemIsLikelyJunk|:"迷惑メール", com_apple_mail_priority:"優先順位", |kMDItemContactKeywords|:"連絡先キーワード", |kMDItemExposureProgram|:"露出プログラム", |kMDItemExposureMode|:"露出モード", |kMDItemExposureTimeSeconds|:"露出時間", |kMDItemLogicalSize|:"論理サイズ"} as record
016
017
018set ocidMdlsKeysDict to refMe's NSMutableDictionary's alloc()'s init()
019ocidMdlsKeysDict's setDictionary:(recordMDLSkeys)
020set ocidAllKeys to ocidMdlsKeysDict's allKeys()
021
022
023log (ocidMdlsKeysDict's valueForKey:("kMDItemUsedDates")) as text
024
025
026log doTranslationKeyName("kMDItemUsedDates") as text
027
028#キー名の翻訳
029to doTranslationKeyName(argKeystring)
030  set ocidMdlsKeysDict to refMe's NSMutableDictionary's alloc()'s init()
031  ocidMdlsKeysDict's setDictionary:(recordMDLSkeys)
032  set ocidTranslation to ocidMdlsKeysDict's valueForKey:(argKeystring)
033  if ocidTranslation = (missing value) then
034    return argKeystring
035  else
036    return ocidTranslation
037  end if
038end doTranslationKeyName
AppleScriptで生成しました

|

[MDLS]スキーマ一覧

[MDLS]スキーマ一覧の取得とHTML表示で取得出力されるHTML
schema一覧
SchemaLocalize
001_kMDItemLabels.ShortNameラベル,見出し,レッテル,荷札,レーベル,label
002_kMDItemPathDisplayNames.ShortName範囲,in,内,範囲内,scope
003AnyKeyすべてのキー
004Aperture絞り
005Average平均
006BothKeys両方のキー
007CenterWeightedAverage中央重点
008kMDItemAccountHandlesアカウントのハンドル
009kMDItemAccountHandles.Description項目のアカウントのハンドル
010kMDItemAccountIdentifierアカウントの識別子
011kMDItemAccountIdentifier.Description項目のアカウントの識別子
012kMDItemAccountTypeアカウントの種類
013kMDItemAccountType.Description項目のアカウントの種類
014kMDItemAcquisitionMake機器の製造元
015kMDItemAcquisitionMake.Description書類を作成または取得するのに使用された機器の製造元
016kMDItemAcquisitionMake.ShortName製造元,製造,メーカ,メーカー,make
017kMDItemAcquisitionModel機器の機種
018kMDItemAcquisitionModel.Description書類を作成または取得するのに使用された機器の機種
019kMDItemAcquisitionModel.ShortName機種,モデル,型,model
020kMDItemAdditionalRecipientPersonsその他の受信者
021kMDItemAdditionalRecipientPersons.DescriptionCcフィールドの内容
022kMDItemAlbumアルバム
023kMDItemAlbum.Descriptionメディアのコレクションのタイトル(音楽のアルバム名など)
024kMDItemAlbum.ShortNameアルバム名,タイトル,名前,題名,album,title,
025kMDItemAlternateNames代替表示名
026kMDItemAlternateNames.Descriptionファイルの代替名
027kMDItemAltitude高度
028kMDItemAltitude.Description世界測地系(WGS84 Datum)によって表された、海水面からのメートル単位による標高。負の値は深度を意味します。
029kMDItemAltitude.ShortName標高,高度,アルチチュード,アルティチュード,高さ,altitude
030kMDItemAperture絞り値
031kMDItemAperture.Descriptionレンズ絞りのサイズ(対数目盛りのAPEX値)
032kMDItemAperture.ShortName絞り値,F値,エフ値,口径,aperture,fstop
033kMDItemAppleLoopDescriptorsループディスクリプタ
034kMDItemAppleLoopDescriptors.Descriptionループのムードやその他の特性を説明するキーワード
035kMDItemAppleLoopsKeyFilterTypeループのスケールの種類
036kMDItemAppleLoopsKeyFilterType.Descriptionループのスケールが、マイナーまたはメジャーのどちらか一方、どちらでもない、または両方に使用可能のうち、どれになっているか
037kMDItemAppleLoopsLoopModeループファイルの種類
038kMDItemAppleLoopsLoopMode.Descriptionファイルがループファイルまたはループでないファイルか(ループファイルでは曲のテンポに合わせてテンポが調整されますが、ループでないファイルでは収録済みのテンポがそのまま適用されます)
039kMDItemAppleLoopsRootKeyループの元のキー
040kMDItemAppleLoopsRootKey.Descriptionループの元のキーを表示します。キーはループの基音(主音)で、スケールの種類は含みません
041kMDItemApplicationCategoriesアプリケーションのカテゴリ
042kMDItemApplicationCategories.Descriptionアプリケーションが属しているカテゴリ
043kMDItemApplicationCategories.ShortNameカテゴリ,categories
044kMDItemAppStoreCategoryカテゴリ
045kMDItemAppStoreCategory.Description項目が属しているApp Storeカテゴリ
046kMDItemAppStoreCategory.ShortNameカテゴリ,category
047kMDItemArtistアーティスト
048kMDItemArtist.Descriptionメディアのアーティスト
049kMDItemArtist.ShortNameby,アーティスト,artist
050kMDItemAudiences対象ユーザ
051kMDItemAudiences.Description書類の対象者
052kMDItemAudiences.ShortName宛先,受取人,to,相手,聴衆,audience
053kMDItemAudioBitRateオーディオのビットレート
054kMDItemAudioBitRate.Descriptionメディアに含まれるオーディオのビットレート
055kMDItemAudioBitRate.ShortDisplayNameビットレート
056kMDItemAudioBitRate.ShortNameビットレート,オーディオビットレート,音声ビットレート,音声のビットレート,ビット速度,オーディオのビット速度,音声のビット速度,bps,audiobitrate,bitrate
057kMDItemAudioChannelCountオーディオチャンネル
058kMDItemAudioChannelCount.Descriptionファイルのオーディオデータのチャンネル数
059kMDItemAudioChannelCount.ShortNameチャンネル,ch,チャネル,通信路,channels,
060kMDItemAudioEncodingApplicationオーディオエンコード
061kMDItemAudioEncodingApplication.Descriptionオーディオファイルのデータをエンコードしたアプリケーションの名前
062kMDItemAudioEncodingApplication.ShortDisplayNameエンコード
063kMDItemAudioEncodingApplication.ShortNameエンコーダ,エンコーダー,encoder,エンコード,エンコードされた,encodedby,オーディオエンコーディングアプリケーション,オーディオエンコードアプリケーション,オーディオエンコーディングソフトウェア,オーディオエンコードソフトウェア,オーディオエンコーディングプログラム,オーディオエンコードプログラム,音声エンコーディングアプリケーション,音声エンコードアプリケーション,エンコードソフト,audioencodingapplication
064kMDItemAudioSampleRateサンプルレート
065kMDItemAudioSampleRate.Descriptionファイルのオーディオデータのサンプルレート
066kMDItemAudioSampleRate.ShortDisplayNameサンプルレート
067kMDItemAudioSampleRate.ShortNameオーディオサンプリングレート,オーディオサンプルレート,オーディオのサンプリングレート,オーディオのサンプルレート,音声のサンプルレート,オーディオのサンプリングレート,オーディオサンプリングレート,音声のサンプリングレート,audiosamplerate,サンプルレート,samplerate,
068kMDItemAudioTrackNumberトラック番号
069kMDItemAudioTrackNumber.Descriptionアルバムに含まれる曲のトラック番号
070kMDItemAudioTrackNumber.ShortNameトラック番号,曲番号,トラックナンバー,曲ナンバー,トラックナンバ,曲ナンバ,tracknumber
071kMDItemAuthorAddresses作成者のメールアドレス
072kMDItemAuthorAddresses.Description項目の作成者のメールアドレス
073kMDItemAuthorAddresses.ShortName差出人,から,from
074kMDItemAuthorEmailAddresses作成者のメールアドレス
075kMDItemAuthorEmailAddresses.Description項目の作成者のメールアドレス
076kMDItemAuthorEmailAddresses.ShortName差出人,から,from,Eメール,電子メール,email,メール,メエル,メイル,Mail,mail
077kMDItemAuthorPersons作成者
078kMDItemAuthorPersons.Description差出人フィールドの内容
079kMDItemAuthors作成者
080kMDItemAuthors.Description項目の作成者
081kMDItemAuthors.ShortName差出人,から,from,著者,筆者,作者,作成者,author,共同,with,協力,by
082kMDItemBitsPerSampleビット/サンプル
083kMDItemBitsPerSample.Description1サンプルあたりのビット数
084kMDItemBitsPerSample.ShortNameBPS,サンプルビット数,サンプルあたりのビット数,サンプル当たりのビット数,bitspersample,bps
085kMDItemCity市区町村
086kMDItemCity.Description項目の市区町村情報
087kMDItemCity.ShortName市区町村,都市,市,区,町,村,シティ,city
088kMDItemCodecsコーデック
089kMDItemCodecs.Descriptionメディアのエンコードとデコードに使用されたコーデック
090kMDItemCodecs.ShortNameコーデック,圧縮伸張プログラム,Compresser,Decompresser,CODEC,codec
091kMDItemColorSpace色空間
092kMDItemColorSpace.Description画像の色空間モデル
093kMDItemColorSpace.ShortName色空間,カラースペース,色スペース,カラー空間,colorspace,
094kMDItemCommentコメント
095kMDItemComment.Description項目に付けられたコメント
096kMDItemComment.ShortNameコメント,メモ,注釈,説明,補足,comment
097kMDItemCompletionDate.Descriptionこの項目が完了した日付
098kMDItemCompletionDate.ShortName完了日,completiondate,日付,日にち,日時,date
099kMDItemComposer作曲者
100kMDItemComposer.Descriptionオーディオファイルに含まれる作曲者情報
101kMDItemComposer.ShortName作曲,by,作曲者,コンポーザ,コンポーザー,composer,著者,筆者,作者,作成者,author
102kMDItemContactKeywords連絡先キーワード
103kMDItemContactKeywords.Description項目に関連する連絡先
104kMDItemContactKeywords.ShortName連絡先,コンタクト,アドレスデータ,住所,contact,連絡先キーワード,コンタクトキーワード,アドレスデータキーワード,contactkeyword,キーワード,keyword
105kMDItemContentCreationDateコンテンツの作成日
106kMDItemContentCreationDate.Description項目の内容が作成された日付
107kMDItemContentCreationDate.ShortNameコンテンツ作成日,コンテンツ作成日時,contentcreated,作成日,作成日時,created,日付,日にち,日時,date
108kMDItemContentModificationDateコンテンツの変更日
109kMDItemContentModificationDate.Description項目の内容が変更された日付
110kMDItemContentModificationDate.ShortNameコンテンツ変更日,contentmodified,変更日,修正日,変更日時,修正日時,modified,日付,日にち,日時,date
111kMDItemContentRatingコンテンツの制限指定
112kMDItemContentRating.Description項目に不適切なコンテンツが含まれているかどうか
113kMDItemContentRating.ShortName不適切,露骨,explicit,不適切な内容を含まない,適切,clean,制限指定,制限区分,レイティング,レート,レーティング,rating,コンテンツレート,コンテンツレーティング,contentrating
114kMDItemContributors作成協力者
115kMDItemContributors.Description書類の内容の作成に協力した個人または組織
116kMDItemContributors.ShortName協力,by,コントリビューター,コントリビュータ,貢献者,contributor,著者,筆者,作者,作成者,author,伴う,共同,with
117kMDItemCopyright著作権
118kMDItemCopyright.Description項目の著作権情報
119kMDItemCopyright.ShortName著作権,版権,コピーライト,copyright
120kMDItemCountry地域
121kMDItemCountry.Description項目の提供元に応じて付けられた、項目の作成地(国、地域、または場所)
122kMDItemCountry.ShortName国,国家,カントリー,カントリ,country,地域,リージョン,region
123kMDItemCoverage適用範囲
124kMDItemCoverage.Description書類の内容の適用範囲
125kMDItemCoverage.ShortName適用範囲,範囲,領域,適用領域,対象範囲,対象領域,coverage,
126kMDItemCreatorコンテンツの作成
127kMDItemCreator.Description書類の作成に使用されたアプリケーション
128kMDItemCreator.ShortNameクリエイタ,クリエーター,クリエイター,作成アプリケーション,作成ソフトウェア,作成プログラム,creator
129kMDItemDateAdded追加日
130kMDItemDateAdded.Description項目が最後に移動された日付
131kMDItemDateAdded.ShortName追加日,dateadded,追加,added,日,日付,date
132kMDItemDeliveryType配信のタイプ
133kMDItemDeliveryType.Descriptionメディアの配信方法(ファストスタートまたはRTSP)
134kMDItemDeliveryType.ShortName配信方法,配布方法,配信タイプ,配布タイプ,配信方式,配布方式,配信形式,配布形式,delivery
135kMDItemDescription説明
136kMDItemDescription.Description書類の内容に関する付加情報
137kMDItemDescription.ShortName説明,詳細,注釈,description,コメント,補足,メモ,comment
138kMDItemDirectorディレクター
139kMDItemDirector.Descriptionディレクター
140kMDItemDisplayName表示名
141kMDItemDisplayName.Description各言語環境で表示されるファイル名
142kMDItemDisplayName.ShortName名前,name,表示名,表示される名前,displayname
143kMDItemDocumentContainer書類のコンテナ
144kMDItemDocumentContainer.Description項目を内包するフォルダ
145kMDItemDocumentContainer.ShortNameコンテナ,container
146kMDItemDocumentUnderstandingCategoriesSynonymsカテゴリ
147kMDItemDocumentUnderstandingCategoriesSynonyms.Descriptionファイルはこのカテゴリです
148kMDItemDocumentUnderstandingTopicsSynonymsトピック
149kMDItemDocumentUnderstandingTopicsSynonyms.Descriptionファイルはトピックに関連しています
150kMDItemDueDate期限
151kMDItemDueDate.Description項目の期限
152kMDItemDueDate.ShortName納期,締切,〆切,締め切り,期日,duedate,日付,日にち,日時,date
153kMDItemDurationSeconds再生時間
154kMDItemDurationSeconds.Description項目の再生時間(秒単位)
155kMDItemDurationSeconds.ShortName時間,継続時間,再生時間,タイム,長さ,再生長,duration,time
156kMDItemEditorsエディタ
157kMDItemEditors.Descriptionこの項目のエディタ
158kMDItemEditors.ShortNameエディタ,編集,編集ソフトeditor
159kMDItemEmailAddressesメールアドレス
160kMDItemEmailAddresses.Description項目に関連するメールアドレス
161kMDItemEmailAddresses.ShortNameEメール,電子メール,email,メール,メエル,メイル,mail
162kMDItemEmailHeadersDictionaryメッセージヘッダ
163kMDItemEmailHeadersDictionary.Descriptionメッセージのヘッダ
164kMDItemEmailHTMLContentHTMLコンテンツ
165kMDItemEmailHTMLContent.Description項目のHTMLコンテンツ
166kMDItemEncodingApplicationsエンコーディングソフト
167kMDItemEncodingApplications.Descriptionオリジナルコンテンツの変換に使用されたソフトウェア
168kMDItemEncodingApplications.ShortDisplayNameエンコード
169kMDItemEncodingApplications.ShortNameエンコーダ,エンコーダー,encoder,エンコード,エンコードされた,encodedby,エンコーディングアプリケーション,エンコードアプリケーション,エンコーディングソフトウェア,エンコードソフトウェア,エンコーディングプログラム,エンコードプログラム,エンコードソフト,encodingapplication
170kMDItemEndDate終了日
171kMDItemEndDate.Description項目の終了日
172kMDItemEndDate.ShortName終了日,enddate,日付,日にち,日時,date
173kMDItemExecutableArchitectures実行可能アーキテクチャ
174kMDItemExecutableArchitectures.Description項目が必要とする実行可能アーキテクチャ
175kMDItemExecutableArchitectures.ShortNameアーキテクチャ,architectures
176kMDItemExecutablePlatform実行可能プラットフォーム
177kMDItemExecutablePlatform.Description項目が必要とする実行可能プラットフォーム
178kMDItemExecutablePlatform.ShortNameプラットフォーム,platform
179kMDItemEXIFGPSVersionEXIF GPSバージョン
180kMDItemEXIFGPSVersion.Descriptionメタデータの生成に使われるEXIF中のGPSInfoIFDのバージョン
181kMDItemEXIFVersionEXIFバージョン
182kMDItemEXIFVersion.Descriptionメタデータの生成に使用されたEXIFのバージョン
183kMDItemEXIFVersion.ShortNameEXIFバージョン,EXIFのバージョン,exifversion
184kMDItemExposureMode露出モード
185kMDItemExposureMode.Description露出に使用されたモード
186kMDItemExposureMode.ShortName露出モード,露出方式,露出方法,露出設定,露光方式,露光方法,exposuremode
187kMDItemExposureProgram露出プログラム
188kMDItemExposureProgram.Descriptionカメラの露出設定で使用したプログラムの種類(マニュアル、標準、絞り優先など)
189kMDItemExposureProgram.ShortName露出,露光,exposure,露出設定,露出プログラム,露光設定,露光プログラム,exposureprogram
190kMDItemExposureTimeSeconds露出時間
191kMDItemExposureTimeSeconds.Description露出中にレンズが開いていた時間
192kMDItemExposureTimeSeconds.ShortName露光時間,露出時間,露出の長さ,exposure,time,時間,time
193kMDItemExposureTimeString露出時間
194kMDItemExposureTimeString.Description露出時間
195kMDItemExposureTimeString.ShortName露光時間,露出時間,露出の長さ,exposure,time,時間,time
196kMDItemExtendedContentRating拡張コンテンツの制限指定
197kMDItemExtendedContentRating.Descriptionこの項目のコンテンツの拡張コンテンツの制限指定
198kMDItemExtendedContentRating.ShortName制限指定,制限区分,レイティング,レーティング,コンテンツレイティング,コンテンツレーティング,rating,contentrating
199kMDItemFileSizeサイズ
200kMDItemFileSize.Description書類のサイズ(MB)
201kMDItemFileSize.ShortNameサイズ,大きさ,寸法,size
202kMDItemFinderCommentSpotlightコメント
203kMDItemFinderComment.Descriptionこの項目のSpotlightコメント
204kMDItemFinderComment.ShortNameコメント,注釈,説明,補足,メモ,comment,spotlightコメント,スポットライトコメント,spotlightcomment
205kMDItemFlashOnOffフラッシュ
206kMDItemFlashOnOff.Description写真がフラッシュを使って撮影されたかどうか
207kMDItemFlashOnOff.ShortNameフラッシュ,ストロボ,フラッシュライト,flash
208kMDItemFNumberF値
209kMDItemFNumber.Description絞りの直径で割ったレンズの焦点距離
210kMDItemFNumber.ShortNameF値,エフ値,口径,fnumber,fstop
211kMDItemFocalLength焦点距離
212kMDItemFocalLength.Descriptionレンズの焦点距離(ミリ(mm)単位)
213kMDItemFocalLength.ShortName焦点距離,焦点までの距離,フォーカス距離,focallength
214kMDItemFontsフォント
215kMDItemFonts.Description項目で使用されたフォント
216kMDItemFonts.ShortNameフォント,書体,font
217kMDItemFullyFormattedAddress完全な形式のIPアドレス
218kMDItemFullyFormattedAddress.ShortName完全な形式のIPアドレス,完全にフォーマットされたIPアドレス,fullyformattedaddress
219kMDItemGenreジャンル
220kMDItemGenre.Descriptionジャンル
221kMDItemHasAlphaChannelアルファチャンネル
222kMDItemHasAlphaChannel.Description画像にアルファチャンネルが含まれているかどうか
223kMDItemHasAlphaChannel.ShortNameアルファ,α,alpha
224kMDItemHeadline見出し
225kMDItemHeadline.Description公開用に用意された、項目の内容に関する要約
226kMDItemHeadline.ShortName見出し,ヘッドライン,headline,タイトル,表題,題名,大見出し,title
227kMDItemHiddenAdditionalRecipientPersonsその他の非表示の受信者
228kMDItemHiddenAdditionalRecipientPersons.DescriptionBccフィールドの内容
229kMDItemIdentifier識別子
230kMDItemIdentifier.Description特定のコンテクストのリソースへの参照
231kMDItemIdentifier.ShortName識別子,ID,識別番号,識別情報,id
232kMDItemImportantDates重要な日付
233kMDItemImportantDates.Description項目に関連する日付
234kMDItemImportantDates.ShortName開始日,startdate,納期,締切,〆切,締め切り,期日,duedate,終了日,enddate,完了日,completiondate,誕生日,birthday,生年月日,birthdate,日付,日にち,日時,date
235kMDItemInformationムービー情報
236kMDItemInformation.Descriptionムービー情報
237kMDItemInstantMessageAddressesインスタントメッセージ
238kMDItemInstantMessageAddresses.Description項目に関連するインスタントメッセージのアドレス
239kMDItemInstantMessageAddresses.ShortNameチャット,会話,インスタントメッセージ名,IM名,インスタントメッセージアドレス,imname
240kMDItemInstructions指示
241kMDItemInstructions.Description取り扱い指示など、項目に関するその他の情報
242kMDItemInstructions.ShortName命令,インストラクション,指図,指令,instructions,
243kMDItemIsApplicationManagedアプリケーションによる管理
244kMDItemIsApplicationManaged.Descriptionこのファイルは、アプリケーションによって所有および管理されています
245kMDItemIsApplicationManaged.ShortNameアプリによる管理,appmanaged
246kMDItemIsGeneralMIDISequenceGeneral MIDIシーケンス
247kMDItemIsGeneralMIDISequence.Descriptionファイルに含まれるMIDIシーケンスがGeneral MIDIデバイスで使用できるように設定されているかどうか
248kMDItemIsGeneralMIDISequence.ShortNameMIDI,ミディ,ismidi,
249kMDItemIsLikelyJunk迷惑メール
250kMDItemIsLikelyJunk.Description迷惑ファイルである可能性が高いかどうか
251kMDItemIsLikelyJunk.ShortName迷惑メール,ジャンク,未承諾広告メール,isjunk
252kMDItemIsLocalローカル
253kMDItemIsLocal.Description項目がユーザのデバイス上にあるかどうか
254kMDItemIsLocal.ShortNameローカル,local,リモート,remote,ローカル,islocal,リモート,isremote
255kMDItemISOSpeedISO感度
256kMDItemISOSpeed.Description写真が撮影されたときのカメラのISO感度
257kMDItemISOSpeed.ShortNameISO,感度,アイエスオー,イソ,フィルム感度,受像素子感度,iso
258kMDItemKeySignatureキー署名
259kMDItemKeySignature.Descriptionオーディオファイルに含まれる曲のキー
260kMDItemKeySignature.ShortNameキー署名,key,鍵署名,keysignature
261kMDItemKeywordsキーワード
262kMDItemKeywords.Description項目に関連するキーワード
263kMDItemKeywords.ShortNameキーワード,鍵となる語,主要語,重要語,keyword
264kMDItemKind種類
265kMDItemKind.Descriptionこの項目の種類
266kMDItemKind.ShortName種類,種,タイプ,形式,型,kind
267kMDItemLanguages言語
268kMDItemLanguages.Description書類の内容に使用されている言語
269kMDItemLanguages.ShortName言語,言葉,ランゲージ,国語,外国語,language
270kMDItemLastUsedDate最後に開いた日
271kMDItemLastUsedDate.Description項目が最後に使用された日付
272kMDItemLastUsedDate.ShortName最後に使用した日,最終使用日,前回の使用日,最後の使用日,lastused,日付,日にち,日時,date
273kMDItemLatitude緯度
274kMDItemLatitude.Description世界測地系(WGS84 Datum)によって表された、項目の北緯における度数での緯度。負の値は南緯を意味します。
275kMDItemLatitude.ShortName緯度,ラチチュード,ラティチュード,latitude
276kMDItemLayerNamesレイヤー
277kMDItemLayerNames.Descriptionファイルに含まれるレイヤーの名前
278kMDItemLayerNames.ShortNameレイヤー,レイヤ,層,layer
279kMDItemLogicalSize論理サイズ
280kMDItemLogicalSize.Description項目の論理サイズ(バイト単位)
281kMDItemLongitude経度
282kMDItemLongitude.Description世界測地系(WGS84 Datum)によって表された、項目のグリニッジ子午線東経における度数での経度。負の値は西経を意味します。
283kMDItemLongitude.ShortName経度,ロンジチュード,ランジチュード,longitude
284kMDItemLyricist作詞家
285kMDItemLyricist.Descriptionオーディオファイルに含まれる曲の作詞者
286kMDItemLyricist.ShortName作詞,by,作詞家,lyricist,著者,筆者,作者,作成者,author
287kMDItemMailboxesメールボックス
288kMDItemMailboxes.Description項目のメールボックスの識別子
289kMDItemMaxAperture最大絞り
290kMDItemMaxAperture.DescriptionAPEX値単位でのレンズの最小F値(通常は00.00〜99.99の範囲)
291kMDItemMaxAperture.ShortName最大絞り値,絞りの最大値,maxaperture
292kMDItemMediaExtensionsメディア機能拡張
293kMDItemMediaExtensions.Descriptionメディアのデコードに使用されたメディア機能拡張
294kMDItemMediaExtensions.ShortName機能拡張
295kMDItemMediaTypesメディアのタイプ
296kMDItemMediaTypes.Descriptionコンテンツに含まれるメディアのタイプ
297kMDItemMediaTypes.ShortNameメディア,媒体,media,含む,ある,contains,メディアの種類,メディアのタイプ,メディアタイプ,mediatype
298kMDItemMeteringMode測光モード
299kMDItemMeteringMode.Description測光モード(不明、平均、中央重点測光、スポット、マルチスポット、パターン、分割)
300kMDItemMeteringMode.ShortName測光,metering,測光方式,測光方法,測光設定,meteringmode
301kMDItemMusicalGenreミュージックのジャンル
302kMDItemMusicalGenre.Descriptionオーディオファイルに含まれる曲のジャンル
303kMDItemMusicalGenre.ShortNameジャンル,genre,音楽のジャンル,ミュージックのジャンル,musicalgenre
304kMDItemMusicalInstrumentCategory音源のカテゴリ
305kMDItemMusicalInstrumentCategory.Descriptionファイルが所属する音源のカテゴリ
306kMDItemMusicalInstrumentCategory.ShortName音源,インストゥルメント,インスツルメンツ,instrument,音源のカテゴリ,instrumentcategory
307kMDItemMusicalInstrumentName音源の名前
308kMDItemMusicalInstrumentName.Description音源のカテゴリに対応する音源の名前
309kMDItemMusicalInstrumentName.ShortName音源,インストゥルメント,インスツルメンツ,instrument,音源名,音源の名前,音源の名称,instrumentcategory
310kMDItemNamedLocation場所
311kMDItemNamedLocation.Description場所または見どころの名前
312kMDItemNamedLocation.ShortName場所,location
313kMDItemNumberOfPagesページ
314kMDItemNumberOfPages.Description書類のページ数
315kMDItemNumberOfPages.ShortNameページ,頁,ペエジ,枚,pages
316kMDItemOrganizations組織
317kMDItemOrganizations.Description書類を作成した組織
318kMDItemOrganizations.ShortName組織,会社,団体,機関,organization
319kMDItemOrientation方向
320kMDItemOrientation.Description写真の方向(横または縦)
321kMDItemOrientation.ShortName方向,向き,orientation,
322kMDItemOriginalFormatオリジナルフォーマット
323kMDItemOriginalFormat.Descriptionオリジナルフォーマット
324kMDItemOriginalSourceオリジナルソース
325kMDItemOriginalSource.Descriptionオリジナルソース
326kMDItemPageHeightページの高さ
327kMDItemPageHeight.Description書類のページの高さ(ポイント単位)
328kMDItemPageHeight.ShortNameページの縦の長さ,ページの縦方向の長さ,ページの高さ,ページの長さ,ページ高,pageheight,高さ,height
329kMDItemPageWidthページの幅
330kMDItemPageWidth.Description書類のページの幅(ポイント単位)
331kMDItemPageWidth.ShortNameページの幅,ページ幅,横幅,pagewidth,幅,width
332kMDItemParticipants参加者
333kMDItemParticipants.Descriptionこの項目に含まれる参加者
334kMDItemPathファイルパス名
335kMDItemPath.Descriptionこのファイルの完全パス名
336kMDItemPath.ShortNameパス,経路,場所,位置,path
337kMDItemPerformersパフォーマー
338kMDItemPerformers.Descriptionパフォーマー
339kMDItemPhoneNumbers電話番号
340kMDItemPhoneNumbers.Description項目に関連する電話番号
341kMDItemPhoneNumbers.ShortName電話,phone,電話番号,phonenumber
342kMDItemPhysicalSize物理サイズ
343kMDItemPhysicalSize.Description項目の物理サイズ(バイト単位)
344kMDItemPixelCountピクセル数
345kMDItemPixelCount.Description書類の総ピクセル数
346kMDItemPixelCount.ShortNameピクセル数,ピクセルカウント,pixelcount
347kMDItemPixelHeight高さ(ピクセル)
348kMDItemPixelHeight.Description書類の高さ(ピクセル単位)
349kMDItemPixelHeight.ShortNameピクセルの高さ,ピクセル単位の高さ,pixelheight,高さ,height
350kMDItemPixelWidth幅(ピクセル)
351kMDItemPixelWidth.Description書類の幅(ピクセル単位)
352kMDItemPixelWidth.ShortNameピクセルの幅,ピクセル単位の幅,ピクセル幅,pixelwidth,幅,width
353kMDItemPlayCount再生回数
354kMDItemPlayCount.Description再生回数
355kMDItemPlayCount.ShortName再生回数,playcount
356kMDItemPostalCode郵便番号
357kMDItemPostalCode.ShortName郵便番号,postalcode
358kMDItemPrimaryRecipientPersons受信者
359kMDItemPrimaryRecipientPersons.Description宛先フィールドの内容
360kMDItemProducerプロデューサー
361kMDItemProducer.Descriptionこの項目のプロデューサー
362kMDItemProducer.ShortNameプロデューサー,制作者,producer
363kMDItemProfileNameカラープロファイル
364kMDItemProfileName.Description画像に使用されたカラープロファイルの名前
365kMDItemProfileName.ShortNameプロファイル,プロフィール,属性,設定,profile
366kMDItemProject.ShortNameプロジェクト,project
367kMDItemProjectsプロジェクト
368kMDItemProjects.Description項目が属しているプロジェクト
369kMDItemPublishers公開者
370kMDItemPublishers.Description書類の公開者
371kMDItemPublishers.ShortName書類の公開者,出版社,公開元,発行者,発行元,出版者,publisher
372kMDItemPurchaseDate購入日
373kMDItemPurchaseDate.Descriptionこの項目を購入した日付
374kMDItemPurchaseDate.ShortName購入日,purchasedate
375kMDItemRatingDescription評価の説明
376kMDItemRatingDescription.Descriptionユーザの評価の説明
377kMDItemRatingDescription.ShortName評価の説明,レイティングの説明,レーティングの説明,ratingdesc
378kMDItemRecipientAddresses受信者のメールアドレス
379kMDItemRecipientAddresses.Description項目の受信者のメールアドレス
380kMDItemRecipientAddresses.ShortName宛先,受取人,to
381kMDItemRecipientEmailAddresses受信者のメールアドレス
382kMDItemRecipientEmailAddresses.Description項目の受信者のメールアドレス
383kMDItemRecipientEmailAddresses.ShortName宛先,受取人,to,Eメール,電子メール,email,メール,メエル,メイル,Mail,mail
384kMDItemRecipients受信者
385kMDItemRecipients.Description項目の受信者
386kMDItemRecipients.ShortName宛先,to,受取人,recipient,共同,with
387kMDItemRecordingDate収録日
388kMDItemRecordingDate.Description曲が収録された日付
389kMDItemRecordingDate.ShortName収録日,収録日時,記録日時,recordingdate,日付,日にち,日時,date
390kMDItemRecordingYear記録/収録された年
391kMDItemRecordingYear.Description項目が記録/収録された年
392kMDItemRecordingYear.ShortName収録年,録音年,記録年,yearrecorded,年,year
393kMDItemRedEyeOnOff赤目
394kMDItemRedEyeOnOff.Description“赤目”補正を適用していたかどうか
395kMDItemRedEyeOnOff.ShortName赤目,赤い目,赤目現象,redeye
396kMDItemRelatedUniqueIdentifier関連する一意識別子
397kMDItemRelatedUniqueIdentifier.Description関連する検索可能な項目への参照
398kMDItemResolutionHeightDPI垂直方向解像度
399kMDItemResolutionHeightDPI.Description画像の垂直方向解像度(DPI単位)
400kMDItemResolutionHeightDPI.ShortName垂直方向のdpi,垂直方向の解像度,縦方向のdpi,縦のdpi,縦方向の解像度,縦の解像度,heightdpi,dpi
401kMDItemResolutionWidthDPI水平方向解像度
402kMDItemResolutionWidthDPI.Description画像の水平方向解像度(DPI単位)
403kMDItemResolutionWidthDPI.ShortName水平方向のdpi,横方向のdpi,横のdpi,横方向の解像度,横の解像度,widthdpi,dpi
404kMDItemRights権利
405kMDItemRights.Description書類に伴う権利に関する情報へのリンク
406kMDItemRights.ShortName権利,著作権,版権,所有権,rights
407kMDItemRole役割
408kMDItemRole.Description書類の作成者の役割
409kMDItemRole.ShortName役割,ロール,role,仕事,作業,ジョブ,job
410kMDItemSecurityMethodセキュリティ
411kMDItemSecurityMethod.Description書類を保護するために使用された暗号化方式
412kMDItemSecurityMethod.ShortNameセキュリティ,保護,security,セキュリティメソッド,保護方法,保護方式,保護手段,securitymethod
413kMDItemStarRating評価
414kMDItemStarRating.Descriptionユーザ評価
415kMDItemStarRating.ShortName星,評価,starrating
416kMDItemStartDate開始日
417kMDItemStartDate.Description項目の開始日
418kMDItemStartDate.ShortName開始日,startdate,日付,日にち,日時,date
419kMDItemStateOrProvince都道府県
420kMDItemStateOrProvince.Description項目の提供元に応じて付けられた、項目の作成地情報(都道府県、州など)
421kMDItemStateOrProvince.ShortName都道府県,郡,州,地方,都,道,府,県,state,地方,province
422kMDItemStreamableストリーミング可能
423kMDItemStreamable.Descriptionコンテンツがストリーミングできる状態かどうか
424kMDItemStreamable.ShortNameストリーム可能,ストリーム配信可能,ストリーミング可,ストリーム配信可,streamable
425kMDItemSubject主題/件名
426kMDItemSubject.Description項目の主題、件名など
427kMDItemSubject.ShortName件名,主題,標題,テーマ,subject,タイトル,題名,題目,title,名前,名称,name
428kMDItemSubThoroughfare番地以下
429kMDItemSubThoroughfare.ShortName番地以下,番地,番,号,subthoroughfare
430kMDItemTempoテンポ
431kMDItemTempo.Descriptionオーディオファイルに含まれる音楽のテンポ(BPM)
432kMDItemTempo.ShortNameテンポ速度,速さ,tempo
433kMDItemTextContentテキストコンテンツ
434kMDItemTextContent.Description項目のテキスト部分の内容
435kMDItemTextContent.ShortName内容,コンテンツ,content,含む,ある,contains,インテキスト,intext
436kMDItemTextSelected選択されたテキスト
437kMDItemThemeテーマ
438kMDItemTheme.Descriptionこの項目のテーマ
439kMDItemTheme.ShortNameテーマ,主題,題目,theme
440kMDItemThoroughfare丁目
441kMDItemThoroughfare.ShortName丁目,丁,thoroughfare
442kMDItemTimeSignature拍子
443kMDItemTimeSignature.DescriptionオーディオまたはMIDIファイルに含まれる曲の拍子
444kMDItemTimeSignature.ShortDisplayName拍子
445kMDItemTimeSignature.ShortName拍子,拍,timesignature
446kMDItemTitleタイトル
447kMDItemTitle.Description項目のタイトル
448kMDItemTitle.ShortNameタイトル,件名,見出し,ヘッドライン,表題,題名,曲名,書籍名,title
449kMDItemTotalBitRate総ビットレート
450kMDItemTotalBitRate.Descriptionメディアに含まれるオーディオとビデオの総合ビットレート
451kMDItemTotalBitRate.ShortNameトータルビットレート,全ビットレート,合計ビットレート,総合ビットレート,総bps,合計bps,総合bps,totalbitrate,ビットレート,bitrate
452kMDItemURLURL
453kMDItemURL.Descriptionこの項目のURL
454kMDItemURL.ShortNameURL,UniformResourceLocator,ユニフォームリソースロケータ,統一資源位置指定子,ロケーション,場所,位置,アドレス,url
455kMDItemUsedDates使用日
456kMDItemUsedDates.Description項目が使用された日付
457kMDItemUsedDates.ShortName使用日,使用日時,used,日付,日にち,日時,date
458kMDItemUserTagsタグ
459kMDItemUserTags.Descriptionこの項目に関連するタグ
460kMDItemUserTags.ShortNameタグ,tag
461kMDItemVendorName製造元名
462kMDItemVendorName.Description項目の製造元名
463kMDItemVendorName.ShortName製造元名,ベンダー名,製造元,ベンダー,供給業者名,販売会社名,業者名,供給業者,販売会社,業者,vendorname
464kMDItemVersionバージョン
465kMDItemVersion.Description項目のバージョン番号
466kMDItemVersion.ShortNameバージョン,バアジョン,版,リリース,リビジョン,ディストリビューション,version
467kMDItemVideoBitRateビデオのビットレート
468kMDItemVideoBitRate.Descriptionメディアに含まれるビデオのビットレート
469kMDItemVideoBitRate.ShortNameビデオビットレート,ビデオのビットレート映像のビットレート,映像ビットレート,videobitrate,ビットレート,ビット速度,ビデオのビット速度,bitrate
470kMDItemWeakRelatedUniqueIdentifier弱い関連のある一意識別子
471kMDItemWeakRelatedUniqueIdentifier.Description弱い関連のある検索可能な項目への参照
472kMDItemWhereFroms入手先
473kMDItemWhereFroms.Description項目の入手先
474kMDItemWhereFroms.ShortNameから,ソース,入手先,from,source,wherefrom
475kMDItemWhiteBalanceホワイトバランス
476kMDItemWhiteBalance.Description写真が撮影されたときのカメラのホワイトバランス設定
477kMDItemWhiteBalance.ShortNameホワイトバランス,色温度,色調の調整,whitebalance
478kMDItemXMPCreditクレジット
479kMDItemXMPCredit.Description写真メタデータのクレジットライン
480kMDItemXMPCredit.ShortNamexmpCredit
481kMDItemXMPDigitalSourceTypeコンテンツの作成
482kMDItemXMPDigitalSourceType.Description写真メタデータのデジタルソースタイプ
483kMDItemXMPDigitalSourceType.ShortNamexmpDigitalSourceType
484Loopingループ
485mailbox.archiveメールボックス アーカイブ
486mailbox.archive.Descriptionアーカイブメールボックスの識別子
487mailbox.draftsメールボックス 下書き
488mailbox.drafts.Description下書きメールボックスの識別子
489mailbox.inboxメールボックス 受信
490mailbox.inbox.Description受信メールボックスの識別子
491mailbox.junkメールボックス 迷惑メール
492mailbox.junk.Description迷惑メールボックスの識別子
493mailbox.sentメールボックス 送信済み
494mailbox.sent.Description送信済みメールボックスの識別子
495mailbox.trashメールボックス ゴミ箱
496mailbox.trash.Descriptionゴミ箱メールボックスの識別子
497Majorメジャー
498Manualマニュアル
499MDItemCompletionDate完了日
500Minorマイナー
501MultiSpotマルチスポット
502NeitherKeyどちらのキーでもない
503Non-Loopingノンループ
504Normal標準
505Partial分割
506Patternパターン
507Priority優先
508Spotスポット
509Unknown不明
項目数 : 509

|

[MDLS]スキーマ一覧の取得とHTML表示

MDLSスキーマ一覧.scpt

AppleScript サンプルコード

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

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004#
005#com.cocolog-nifty.quicktimer.icefloe
006----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
007##自分環境がos12なので2.8にしているだけです
008use AppleScript version "2.8"
009use framework "Foundation"
010use framework "AppKit"
011use scripting additions
012property refMe : a reference to current application
013
014###########################
015#入力パス
016set appFileManager to refMe's NSFileManager's defaultManager()
017set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSSystemDomainMask))
018set ocidLibraryDirPathURL to ocidURLsArray's firstObject()
019set ocidFilePathURL to ocidLibraryDirPathURL's URLByAppendingPathComponent:("Frameworks/CoreSpotlight.framework/Versions/A/Resources/schema.loctable") isDirectory:(false)
020
021###########################
022#出力保存先パス
023set ocidTempDirURL to appFileManager's temporaryDirectory()
024set ocidUUID to refMe's NSUUID's alloc()'s init()
025set ocidUUIDString to ocidUUID's UUIDString
026set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
027#
028set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
029# 777-->511 755-->493 700-->448 766-->502
030ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
031set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:(true) attributes:(ocidAttrDict) |error| :(reference)
032if (item 1 of listDone) is true then
033  log "createDirectoryAtURL 正常処理"
034else if (item 2 of listDone) (missing value) then
035  log (item 2 of listDone)'s code() as text
036  log (item 2 of listDone)'s localizedDescription() as text
037  return "createDirectoryAtURL エラーしました"
038end if
039###パス
040set ocidBaseFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:("mdls") isDirectory:(false)
041set ocidSaveHTMLPathURL to ocidBaseFilePathURL's URLByAppendingPathExtension:("html")
042
043###########################
044#読み込み
045set listResponse to refMe's NSDictionary's alloc()'s initWithContentsOfURL:(ocidFilePathURL) |error| :(reference)
046if (item 2 of listResponse) = (missing value) then
047  log "initWithContentsOfURL 正常処理"
048  set ocidPlistDict to (item 1 of listResponse)
049else if (item 2 of listResponse) (missing value) then
050  log (item 2 of listResponse)'s code() as text
051  log (item 2 of listResponse)'s localizedDescription() as text
052  return "initWithContentsOfURL エラーしました"
053end if
054###########################
055#日本語ローカライズのDictを取得
056set ocidJaDict to ocidPlistDict's objectForKey:("ja")
057set ocidAllKeyArray to ocidJaDict's allKeys()
058set numCntKye to ocidAllKeyArray's |count|() as integer
059###########################
060#並び替え並び替え compare
061set ocidSortedArray to ocidAllKeyArray's sortedArrayUsingSelector:("localizedStandardCompare:")
062
063###########################
064#項目番号用のゼロサプレス 3桁
065set ocidFormatter to refMe's NSNumberFormatter's alloc()'s init()
066ocidFormatter's setMinimumIntegerDigits:(3)
067ocidFormatter's setMaximumIntegerDigits:(3)
068########################################
069#本処理
070########################################
071#headerに渡すエレメント
072set ocidSetHeaderElement to (refMe's NSXMLElement's elementWithName:("div"))
073set ocidH3Element to refMe's NSXMLElement's elementWithName:("h3")
074(ocidH3Element's setStringValue:("mdlsローカライズ名"))
075(ocidSetHeaderElement's addChild:(ocidH3Element))
076
077########################################
078#articleに渡すエレメント
079set ocidSetArticleElement to (refMe's NSXMLElement's elementWithName:("div"))
080set ocidH3Element to (refMe's NSXMLElement's elementWithName:("h3"))
081(ocidH3Element's setStringValue:("/Frameworks/CoreSpotlight.framework/Versions/A/Resources/schema.loctable"))
082(ocidSetArticleElement's addChild:(ocidH3Element))
083
084########################################
085#footerに渡すエレメント
086set ocidSetFooterElement to (refMe's NSXMLElement's elementWithName:("div"))
087#テーブル部生成開始
088set ocidTableElement to refMe's NSXMLElement's elementWithName:("table")
089############
090#【caption】
091set ocidCaptionElement to refMe's NSXMLElement's elementWithName:("caption")
092ocidCaptionElement's setStringValue:("schema一覧")
093ocidTableElement's addChild:(ocidCaptionElement)
094############
095#【colgroup】
096set ocidColgroupElement to refMe's NSXMLElement's elementWithName:("colgroup")
097#【col】col生成
098set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
099set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("LineNo"))
100(ocidAddElement's addAttribute:(ocidAddNode))
101(ocidColgroupElement's addChild:(ocidAddElement))
102#【col】col生成
103set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
104set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("schema"))
105(ocidAddElement's addAttribute:(ocidAddNode))
106(ocidColgroupElement's addChild:(ocidAddElement))
107#【col】col生成
108set ocidAddElement to (refMe's NSXMLElement's elementWithName:("col"))
109set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("localize"))
110(ocidAddElement's addAttribute:(ocidAddNode))
111(ocidColgroupElement's addChild:(ocidAddElement))
112#【colgroup】をテーブルエレメントに追加
113ocidTableElement's addChild:(ocidColgroupElement)
114############
115#【thead】
116set ocidTheadElement to refMe's NSXMLElement's elementWithName:("thead")
117#TR
118set ocidTrElement to refMe's NSXMLElement's elementWithName:("tr")
119#TH
120set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
121set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("LineNo"))
122(ocidAddElement's addAttribute:(ocidAddNode))
123set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("LineNo"))
124(ocidAddElement's addAttribute:(ocidAddNode))
125set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
126(ocidAddElement's addAttribute:(ocidAddNode))
127(ocidAddElement's setStringValue:("\"))
128(ocidTrElement's addChild:(ocidAddElement))
129#TH
130set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
131set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("schema"))
132(ocidAddElement's addAttribute:(ocidAddNode))
133set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("schema"))
134(ocidAddElement's addAttribute:(ocidAddNode))
135set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
136(ocidAddElement's addAttribute:(ocidAddNode))
137(ocidAddElement's setStringValue:("Schema"))
138(ocidTrElement's addChild:(ocidAddElement))
139#TH
140set ocidAddElement to (refMe's NSXMLElement's elementWithName:("th"))
141set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("localize"))
142(ocidAddElement's addAttribute:(ocidAddNode))
143set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("id") stringValue:("localize"))
144(ocidAddElement's addAttribute:(ocidAddNode))
145set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
146(ocidAddElement's addAttribute:(ocidAddNode))
147(ocidAddElement's setStringValue:("Localize"))
148(ocidTrElement's addChild:(ocidAddElement))
149#TRをTHEADにセット
150ocidTheadElement's addChild:(ocidTrElement)
151#THEADをテーブルにセット
152ocidTableElement's addChild:(ocidTheadElement)
153############
154#【tbody】
155set ocidTbodyElement to refMe's NSXMLElement's elementWithName:("tbody")
156#######
157repeat with itemNo from 0 to (numCntKye - 1) by 1
158  ##値の取得と整形
159  set numLineNO to (itemNo + 1) as integer
160  set strLineNO to (ocidFormatter's stringFromNumber:(numLineNO)) as text
161  set ocidItemKey to (ocidSortedArray's objectAtIndex:(itemNo))
162  set ocidItemValue to (ocidJaDict's valueForKey:(ocidItemKey))
163  #TRの開始
164  set ocidTrElement to (refMe's NSXMLElement's elementWithName:("tr"))
165  #TH
166  set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
167  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:(strLineNO))
168  (ocidThElement's addAttribute:(ocidAddNode))
169  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("LineNo"))
170  (ocidThElement's addAttribute:(ocidAddNode))
171  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("col"))
172  (ocidThElement's addAttribute:(ocidAddNode))
173  (ocidThElement's setStringValue:(strLineNO))
174  (ocidTrElement's addChild:(ocidThElement))
175  #TD
176  set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
177  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("schema"))
178  (ocidTdElement's addAttribute:(ocidAddNode))
179  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("schema"))
180  (ocidTdElement's addAttribute:(ocidAddNode))
181  (ocidTdElement's setStringValue:(ocidItemKey))
182  (ocidTrElement's addChild:(ocidTdElement))
183  #TD
184  set ocidTdElement to (refMe's NSXMLElement's elementWithName:("td"))
185  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("localize"))
186  (ocidTdElement's addAttribute:(ocidAddNode))
187  set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("headers") stringValue:("localize"))
188  (ocidTdElement's addAttribute:(ocidAddNode))
189  (ocidTdElement's setStringValue:(ocidItemValue))
190  (ocidTrElement's addChild:(ocidTdElement))
191  #TRをTBODYにセット
192  (ocidTbodyElement's addChild:(ocidTrElement))
193  
194end repeat
195#TBODYをテーブルにセット
196ocidTableElement's addChild:(ocidTbodyElement)
197############
198#【tfoot】 TRで
199set ocidTfootElement to refMe's NSXMLElement's elementWithName:("tfoot")
200set ocidTrElement to refMe's NSXMLElement's elementWithName:("tr")
201set ocidThElement to (refMe's NSXMLElement's elementWithName:("th"))
202set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("title") stringValue:("テーブルの終わり"))
203(ocidThElement's addAttribute:(ocidAddNode))
204set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("colspan") stringValue:("3"))
205(ocidThElement's addAttribute:(ocidAddNode))
206set ocidAddNode to (refMe's NSXMLNode's attributeWithName:("scope") stringValue:("row"))
207(ocidThElement's addAttribute:(ocidAddNode))
208set strContents to ("項目数 : " & (numCntKye)) as text
209(ocidThElement's setStringValue:(strContents))
210#THをTRにセットして
211ocidTrElement's addChild:(ocidThElement)
212#TRをTFOOTにセット
213ocidTfootElement's addChild:(ocidTrElement)
214#TFOOTをテーブルにセット
215ocidTableElement's addChild:(ocidTfootElement)
216(ocidSetFooterElement's addChild:(ocidTableElement))
217
218
219##############################
220#HTMLにする
221##############################
222set ocidHTML to doMakeRootElement({ocidSetHeaderElement, ocidSetArticleElement, ocidSetFooterElement})
223#####保存
224#読み取りやすい表示
225set ocidXMLdata to ocidHTML's XMLDataWithOptions:(refMe's NSXMLNodePrettyPrint)
226set listDone to ocidXMLdata's writeToURL:(ocidSaveHTMLPathURL) options:(refMe's NSDataWritingAtomic) |error| :(reference)
227if (item 1 of listDone) is true then
228  log "writeToURL 正常処理"
229else if (item 2 of listDone) (missing value) then
230  log (item 2 of listDone)'s code() as text
231  log (item 2 of listDone)'s localizedDescription() as text
232  return "writeToURL エラーしました"
233end if
234####ブラウザで開く
235set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
236set boolDone to appSharedWorkspace's openURL:(ocidSaveHTMLPathURL)
237if (boolDone) is true then
238  log "openURL 正常処理"
239else if (boolDone) is false then
240  log (item 2 of listDone)'s code() as text
241  log (item 2 of listDone)'s localizedDescription() as text
242  ####ブラウザで開く
243  set aliasFilePath to (ocidSaveHTMLPathURL's absoluteURL()) as alias
244  tell application "Finder"
245    open location aliasFilePath
246  end tell
247  return "openURL エラーしました"
248end if
249return
250####保存先を開く
251set boolDone to appSharedWorkspace's openURL:(ocidSaveDirPathURL)
252if (boolDone) is true then
253  log "openURL 正常処理"
254else if (boolDone) is false then
255  log (item 2 of listDone)'s code() as text
256  log (item 2 of listDone)'s localizedDescription() as text
257  ####保存先を開く
258  set aliasDirPath to (ocidSaveDirPathURL's absoluteURL()) as alias
259  tell application "Finder"
260    open folder aliasDirPath
261  end tell
262  return "openURL エラーしました"
263end if
264
265
266
267############################################################
268# 基本的なHTMLの構造
269(*
270doMakeRootElement({argHeaderContents, argArticleContents, argFooterContents})
271HTMLのBODY部
272header
273article
274footerにそれぞれAddchildするデータをリストで渡す
275戻り値はRootエレメントにセットされた
276NSXMLDocumentを戻すので 保存すればOK
277*)
278############################################################
279to doMakeRootElement({argHeaderContents, argArticleContents, argFooterContents})
280  #XML初期化
281  set ocidXMLDoc to refMe's NSXMLDocument's alloc()'s init()
282  ocidXMLDoc's setDocumentContentKind:(refMe's NSXMLDocumentHTMLKind)
283  # DTD付与
284  set ocidDTD to refMe's NSXMLDTD's alloc()'s init()
285  ocidDTD's setName:("html")
286  ocidXMLDoc's setDTD:(ocidDTD)
287  #
288  set ocidRootElement to refMe's NSXMLElement's elementWithName:("html")
289  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("lang") stringValue:("ja")
290  ocidRootElement's addAttribute:(ocidAddNode)
291  #
292  set ocidHeadElement to refMe's NSXMLElement's elementWithName:("head")
293  #
294  set ocidAddElement to refMe's NSXMLElement's elementWithName:("title")
295  ocidAddElement's setStringValue:("schema一覧")
296  ocidHeadElement's addChild:(ocidAddElement)
297  # http-equiv
298  set ocidAddElement to refMe's NSXMLElement's elementWithName:("meta")
299  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("http-equiv") stringValue:("Content-Type")
300  ocidAddElement's addAttribute:(ocidAddNode)
301  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("content") stringValue:("text/html; charset=UTF-8")
302  ocidAddElement's addAttribute:(ocidAddNode)
303  ocidHeadElement's addChild:(ocidAddElement)
304  #
305  set ocidAddElement to refMe's NSXMLElement's elementWithName:("meta")
306  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("name") stringValue:("viewport")
307  ocidAddElement's addAttribute:(ocidAddNode)
308  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("content") stringValue:("width=720")
309  ocidAddElement's addAttribute:(ocidAddNode)
310  ocidHeadElement's addChild:(ocidAddElement)
311  #
312  set ocidAddElement to refMe's NSXMLElement's elementWithName:("style")
313  ocidAddElement's setStringValue:("body { margin: 10px; background-color: #FFFFFF; } header p{font-size: 12pt;font-family: monospace;margin:12px;}article p{font-size: 12pt;font-family: monospace;margin:2px;}table { border-spacing: 0; caption-side: top; font-family: system-ui; } thead th { border: solid 1px #666666; padding: .5ch 1ch; border-block-width: 1px 0; border-inline-width: 1px 0; &:first-of-type { border-start-start-radius: .5em } &:last-of-type { border-start-end-radius: .5em; border-inline-end-width: 1px } } tbody td { word-wrap: break-word;max-width: 360px;border-spacing: 0; border: solid 1px #666666; padding: .5ch 1ch; border-block-width: 1px 0; border-inline-width: 1px 0; &:last-of-type { border-inline-end-width: 1px } } tbody th { border-spacing: 0; border: solid 1px #666666; padding: .5ch 1ch; border-block-width: 1px 0; border-inline-width: 1px 0; } tbody tr:nth-of-type(odd) { background: #F2F2F2; } .kind_string { font-size: 0.75em; } .date_string { font-size: 0.5em; } tfoot th { border: solid 1px #666666; padding: .5ch 1ch; &:first-of-type { border-end-start-radius: .5em } &:last-of-type { border-end-end-radius: .5em; border-inline-end-width: 1px } }")
314  ocidHeadElement's addChild:(ocidAddElement)
315  ocidRootElement's addChild:(ocidHeadElement)
316  #
317  #ボディエレメント
318  set ocidBodyElement to refMe's NSXMLElement's elementWithName:("body")
319  #ヘッダー
320  set ocidHeaderElement to refMe's NSXMLElement's elementWithName:("header")
321  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("header")
322  ocidHeaderElement's addAttribute:(ocidAddNode)
323  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_header")
324  ocidHeaderElement's addAttribute:(ocidAddNode)
325  ocidHeaderElement's addChild:(argHeaderContents)
326  ocidBodyElement's addChild:(ocidHeaderElement)
327  #アーティクル
328  set ocidArticleElement to refMe's NSXMLElement's elementWithName:("article")
329  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("article")
330  ocidArticleElement's addAttribute:(ocidAddNode)
331  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_article")
332  ocidArticleElement's addAttribute:(ocidAddNode)
333  ocidArticleElement's addChild:(argArticleContents)
334  ocidBodyElement's addChild:(ocidArticleElement)
335  #フッター
336  set ocidFooterElement to refMe's NSXMLElement's elementWithName:("footer")
337  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("id") stringValue:("footer")
338  ocidFooterElement's addAttribute:(ocidAddNode)
339  set ocidAddNode to refMe's NSXMLNode's attributeWithName:("class") stringValue:("body_footer")
340  ocidFooterElement's addAttribute:(ocidAddNode)
341  ocidFooterElement's addChild:(argFooterContents)
342  ocidBodyElement's addChild:(ocidFooterElement)
343  #ボディをROOTエレメントにセット
344  ocidRootElement's addChild:(ocidBodyElement)
345  #ROOTをXMLにセット
346  ocidXMLDoc's setRootElement:(ocidRootElement)
347  #値を戻す
348  return ocidXMLDoc
349end doMakeRootElement
AppleScriptで生成しました

|

【メモ】/usr/bin/locate 現在は非推奨(利用するのは場面による)

locate.bash

サンプルコード

サンプルソース(参考)
行番号ソース
001#!/bin/bash
002#com.cocolog-nifty.quicktimer.icefloe
003#################################################
004
005
006/usr/bin/locate PrintCore.framework
007: << 'CONSOLE_PRINT'
008WARNING: The locate database (/var/db/locate.database) does not exist.
009To create the database, run the following command:
010
011  sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
012
013Please be aware that the database can take some time to generate; once
014the database has been created, this message will no longer appear.
015
016/usr/libexec/locate.updatedb
017
018CONSOLE_PRINT
019
020/bin/launchctl list | grep com.apple.locate
021
022
023/usr/bin/sudo /bin/launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.locate.plist
024: << 'CONSOLE_PRINT'
025Bootstrap failed: 5: Input/output error
026CONSOLE_PRINT
027
028/usr/bin/csrutil status
029: << 'CONSOLE_PRINT'
030System Integrity Protection status: enabled.
031リカバリーOSで起動させてSIPSをOFFにしてから
032/bin/launchctlに登録することになる
033それは嫌なので
034内容を確認すると
035CONSOLE_PRINT
036
037/bin/cat  /System/Library/LaunchDaemons/com.apple.locate.plist 
038
039
040: << 'CONSOLE_PRINT'
041<key>ProgramArguments</key>
042<array>
043<string>/usr/libexec/locate.updatedb</string>
044</array>
045って
046事なので
047CONSOLE_PRINT
048
049/usr/bin/sudo /usr/libexec/locate.updatedb
050
051/usr/bin/locate PrintCore.framework
052
053: << 'CONSOLE_PRINT'
054/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework
055
056DBが更新されたのを確認できた
057他にも 
058/usr/libexec/locate.bigram
059/usr/libexec/locate.code
060/usr/libexec/locate.concatdb
061/usr/libexec/locate.mklocatedb
062/usr/libexec/locate.updatedb
063
064があるが
065利用は非推奨なんだと思う
066
067#JPEGファイルを探す
068/usr/bin/locate  "*.jpg"
069#DS_Storeファイルを削除する
070/usr/bin/locate   .DS_Store | xargs /bin/rm
071
072便利に使える反面
073全ユーザーの全ファイルパスが丸見えになるので
074常時の利用は
075プライバシー的・セキュリティ的に良いものではない
076
077使う前に
078/usr/bin/sudo /usr/libexec/locate.updatedb
079
080実行して
081使い終わったら
082/usr/bin/sudo  /bin/rm -f /var/db/locate.database
083DBを削除するようにしたほうがいい
084
085CONSOLE_PRINT
086
087
088
089/usr/bin/sudo /bin/launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
090/usr/bin/sudo /bin/launchctl start -w /System/Library/LaunchDaemons/com.apple.locate.plist
091
092/usr/bin/sudo /bin/launchctl stop -w /System/Library/LaunchDaemons/com.apple.locate.plist
093/usr/bin/sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/com.apple.locate.plist
094
095/usr/bin/sudo /usr/libexec/locate.updatedb
096/usr/bin/sudo /usr/libexec/locate.code
097
098/usr/bin/locate -i png -d /var/db/locate.database
099
100/usr/bin/sudo  /bin/rm -f /var/db/locate.database
101
102exit 0
103
AppleScriptで生成しました

|

[bash][mdutil]対象のディレクトリがインデックスされているか?の判定


サンプルコード

サンプルソース(参考)
行番号ソース
001#!/bin/bash
002#com.cocolog-nifty.quicktimer.icefloe
003#################################################
004STR_BUNDLEID="com.adobe.Reader"
005STR_RESPONSE=$(/usr/bin/mdutil -s /System/Volumes/Data/Applications)
006if [[ "$STR_RESPONSE" != *"enabled"* ]]; then
007  /bin/echo "インデックスされていないので判定できません"
008 exit 1
009fi
AppleScriptで生成しました

|

[Plist]Acrobat ReaderのSCA(single client app) Unified App版判定(その3 bash:mdfind PlistBuddy)


サンプルコード

サンプルソース(参考)
行番号ソース
001#!/bin/bash
002#com.cocolog-nifty.quicktimer.icefloe
003#################################################
004STR_BUNDLEID="com.adobe.Reader"
005STR_RESPONSE=$(/usr/bin/mdutil -s /System/Volumes/Data/Applications)
006if [[ "$STR_RESPONSE" != *"enabled"* ]]; then
007  /bin/echo "インデックスされていないので判定できません"
008 exit 1
009fi
010PATH_APPLICATION=$(/usr/bin/mdfind "kMDItemCFBundleIdentifier == '${STR_BUNDLEID}'")
011PATH_PLIST="${PATH_APPLICATION}/Contents/Info.plist"
012
013#バージョンチェック
014STR_VERSION=$(/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "$PATH_PLIST")
015/bin/echo "CFBundleVersion: ${STR_VERSION}"
016
017STR_VERSION=$(/usr/libexec/PlistBuddy -c "Print :CFBundleLongVersionString" "$PATH_PLIST")
018/bin/echo "CFBundleLongVersionString: ${STR_VERSION}"
019
020STR_VERSION=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "$PATH_PLIST")
021/bin/echo "CFBundleShortVersionString: ${STR_VERSION}"
022
023#SCA判定
024STR_ISSCA=$(/usr/libexec/PlistBuddy -c "Print :AcroSCA" "${PATH_PLIST}")
025/bin/echo "AcroSCA: ${STR_ISSCA}"
026if [[ "$STR_ISSCA" == "false" ]]; then
027  /bin/echo "従来版がインストールされています"
028 exit 1
029else
030  /bin/echo "SCA版がインストールされています"
031fi
AppleScriptで生成しました

|

より以前の記事一覧

その他のカテゴリー

Accessibility Acrobat Acrobat 2020 Acrobat 2024 Acrobat AddOn Acrobat Annotation Acrobat AppleScript Acrobat ARMDC Acrobat AV2 Acrobat BookMark Acrobat Classic Acrobat DC Acrobat Dialog Acrobat Distiller Acrobat Form Acrobat GentechAI Acrobat JS Acrobat JS Word Search Acrobat Maintenance Acrobat Manifest Acrobat Menu Acrobat Merge Acrobat Open Acrobat PDFPage Acrobat Plugin Acrobat Preferences Acrobat Preflight Acrobat Print Acrobat Python Acrobat Reader Acrobat Reader Localized Acrobat Reference Acrobat Registered Products Acrobat SCA Acrobat SCA Updater Acrobat Sequ Acrobat Sign Acrobat Stamps Acrobat URL List Mac Acrobat URL List Windows Acrobat Watermark Acrobat Windows Acrobat Windows Reader Admin Admin Account Admin Apachectl Admin ConfigCode Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Mobileconfig Admin NetWork Admin Permission Admin Pkg Admin Power Management Admin Printer Admin Printer Basic Admin Printer Custompapers Admin SetUp Admin SMB Admin softwareupdate Admin Support Admin System Information Admin TCC Admin Tools Admin Umask Admin Users Admin Volumes Admin XProtect Adobe Adobe AUSST Adobe Bridge Adobe Documents Adobe FDKO Adobe Fonts Adobe Reference Adobe RemoteUpdateManager Adobe Sap Code AppKit Apple AppleScript AppleScript Duplicate AppleScript entire contents AppleScript List AppleScript ObjC AppleScript Osax AppleScript PDF AppleScript Pictures AppleScript record AppleScript Video Applications AppStore Archive Archive Keka Attributes Automator BackUp Barcode Barcode Decode Barcode QR Bash Basic Basic Path Bluetooth BOX Browser Calendar CD/DVD Choose Chrome Chromedriver CIImage CityCode CloudStorage Color Color NSColor Color NSColorList com.apple.LaunchServices.OpenWith Console Contacts CotEditor CURL current application Date&Time delimiters Desktop Desktop Position Device Diff Disk do shell script Dock Dock Launchpad DropBox Droplet eMail Encode % Encode Decode Encode HTML Entity Encode UTF8 Error EXIFData exiftool ffmpeg File File Name Finder Finder Window Firefox Folder FolderAction Font List FontCollections Fonts Fonts Asset_Font Fonts ATS Fonts Emoji Fonts Maintenance Fonts Morisawa Fonts Python Fonts Variable Foxit GIF github Guide HTML Icon Icon Assets.car Illustrator Image Events ImageOptim Input Dictionary iPhone iWork Javascript Jedit Ω Json Label Language Link locationd lsappinfo m3u8 Mail Map Math Media Media AVAsset Media AVconvert Media AVFoundation Media AVURLAsset Media Movie Media Music Memo Messages Microsoft Microsoft Edge Microsoft Excel Microsoft Fonts Microsoft Office Microsoft Office Link Microsoft OneDrive Microsoft Teams Mouse Music Node Notes NSArray NSArray Sort NSAttributedString NSBezierPath NSBitmapImageRep NSBundle NSCFBoolean NSCharacterSet NSData NSDecimalNumber NSDictionary NSError NSEvent NSFileAttributes NSFileManager NSFileManager enumeratorAtURL NSFont NSFontManager NSGraphicsContext NSGraphicsContext Crop NSImage NSIndex NSKeyedArchiver NSKeyedUnarchiver NSLocale NSMetadataItem NSMutableArray NSMutableDictionary NSMutableString NSNotFound NSNumber NSOpenPanel NSPasteboard NSpoint NSPredicate NSRange NSRect NSRegularExpression NSRunningApplication NSScreen NSSet NSSize NSString NSString stringByApplyingTransform NSStringCompareOptions NSTask NSTimeZone NSUbiquitous NSURL NSURL File NSURLBookmark NSURLComponents NSURLResourceKey NSURLSession NSUserDefaults NSUUID NSView NSWorkspace Numbers OAuth PDF PDF Image2PDF PDF MakePDF PDF nUP PDF Pymupdf PDF Pypdf PDFContext PDFDisplayBox PDFImageRep PDFKit PDFKit Annotation PDFKit AnnotationWidget PDFKit DocumentPermissions PDFKit OCR PDFKit Outline PDFKit Start PDFPage PDFPage Rotation PDFView perl Photoshop PlistBuddy pluginkit plutil postalcode PostScript PowerShell prefPane Preview Python Python eyed3 Python pip QuickLook QuickTime ReadMe Regular Expression Reminders ReName Repeat RTF Safari SaveFile ScreenCapture ScreenSaver Script Editor Script Menu SF Symbols character id SF Symbols Entity Shortcuts Shortcuts Events sips Skype Slack Sound Spotlight sqlite StandardAdditions StationSearch Subtitles LRC Subtitles SRT Subtitles VTT Swift swiftDialog System Events System Settings TemporaryItems Terminal Text Text CSV Text MD Text TSV TextEdit Tools Translate Trash Twitter Typography UI Unit Conversion UTType valueForKeyPath Video VisionKit Visual Studio Code VMware Fusion Wacom Weather webarchive webp Wifi Windows XML XML EPUB XML HTML XML LSSharedFileList XML LSSharedFileList sfl2 XML LSSharedFileList sfl3 XML objectsForXQuery XML OPML XML Plist XML Plist System Events XML RSS XML savedSearch XML SVG XML TTML XML webloc XML xmllint XML XMP YouTube Zero Padding zoom