« [AppleScript]ドロップレット OPENしたくない(Openに値を渡さない & ログを出す)その2 | トップページ | edgemac用URLのQRコード生成 (GoogleがQRコード生成サービスを停止した対応) »

ContainersのApple以外のフォルダにFinder Indexラベルカラーをつける (コンテナのメンテナンス用)

20240625120913_902x404
こんな感じでContainers内にある項目で
Apple以外の項目をわかるようにします

AppleScript サンプルコード

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

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#com.cocolog-nifty.quicktimer.icefloe
004#
005#
006----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
007use AppleScript version "2.8"
008use framework "Foundation"
009use framework "AppKit"
010use scripting additions
011
012property refMe : a reference to current application
013
014#ライブラリ
015set appFileManager to refMe's NSFileManager's defaultManager()
016set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSUserDomainMask))
017set ocidLibraryDirPathURL to ocidURLsArray's firstObject()
018#コンテナ
019set ocidContainersDirPathURL to ocidLibraryDirPathURL's URLByAppendingPathComponent:("Containers") isDirectory:(true)
020#URL収集キー
021set ocidKeyArray to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
022ocidKeyArray's addObject:(refMe's NSURLPathKey)
023ocidKeyArray's addObject:(refMe's NSURLIsDirectoryKey)
024ocidKeyArray's addObject:(refMe's NSURLNameKey)
025#URL収集オプション
026set ocidOption to (refMe's NSDirectoryEnumerationSkipsHiddenFiles)
027#URL収集
028set listResponse to (appFileManager's contentsOfDirectoryAtURL:(ocidContainersDirPathURL) includingPropertiesForKeys:(ocidKeyArray) options:(ocidOption) |error| :(reference))
029if (item 2 of listResponse) = (missing value) then
030  log "正常処理"
031  set ocidURLPathArray to (item 1 of listResponse)
032else if (item 2 of listResponse) ≠ (missing value) then
033  set strErrorNO to (item 2 of listDone)'s code() as text
034  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
035  refMe's NSLog("■:" & strErrorNO & strErrorMes)
036  return "エラーしました" & strErrorNO & strErrorMes
037end if
038#収集したURLを順番に処理
039repeat with itemPathURL in ocidURLPathArray
040  #ファイル名が
041  set strDirName to (itemPathURL's lastPathComponent()) as text
042  #Apple
043  if strDirName starts with "com.apple" then
044    ##ここはAppleの設定が入っている
045  else
046    log strDirName
047    #Apple以外のコンテナの場合は グリーンのインデックスをつける
048    set ocidLabelNo to (refMe's NSNumber's numberWithInteger:(2))
049    set listDone to (itemPathURL's setResourceValue:(ocidLabelNo) forKey:(refMe's NSURLLabelNumberKey) |error| :(reference))
050    if (item 1 of listDone) is true then
051      log "正常処理"
052    else if (item 2 of listDone) ≠ (missing value) then
053      set strErrorNO to (item 2 of listDone)'s code() as text
054      set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
055      refMe's NSLog("■:" & strErrorNO & strErrorMes)
056      return "エラーしました" & strErrorNO & strErrorMes
057    end if
058    
059  end if
060end repeat
061
062
AppleScriptで生成しました

|

« [AppleScript]ドロップレット OPENしたくない(Openに値を渡さない & ログを出す)その2 | トップページ | edgemac用URLのQRコード生成 (GoogleがQRコード生成サービスを停止した対応) »

Admin Maintenance」カテゴリの記事