« Spotlight | トップページ | [NSURLResourceKey]|error|:(reference) »

[Spotlight] mdimport

メールのインポート

https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-906427.html





[mdimport]インストール済みのmdimporterを読み込む(全ドメイン)

https://app.f.cocolog-nifty.com/cms/blogs/1445979/entries/130512295



[mdimport]スポットライトのインデックスに追加する

https://quicktimer.cocolog-nifty.com/icefloe/2023/03/post-05a7ba.html





一覧出力


あくまでも参考にしてください


サンプルソース(参考)
行番号ソース
001#!/bin/bash
002#com.cocolog-nifty.quicktimer.icefloe
003# mdimport -L でインポーターのパスの一覧を出す
004#################################################
005TEXT_RESULT=$(/usr/bin/mdimport -L)
006DEFAULT_IFS=$IFS
007IFS=$')(,"'
008read -d '\n' -r -a LIST_PATH <<<"$TEXT_RESULT"
009for ITEM_PATH in "${LIST_PATH[@]}"; do
010  STR_FIRST_CHAR="${ITEM_PATH:0:1}"
011    if [[ $STR_FIRST_CHAR == "/" ]]; then
012      /bin/echo "$ITEM_PATH"
013    fi
014done
015exit 0
AppleScriptで生成しました



リセットする

あくまでも参考にしてください


サンプルソース(参考)
行番号ソース
001#!/bin/bash
002#com.cocolog-nifty.quicktimer.icefloe
003# mdimport -L でインポーターのパスの一覧を出す
004#################################################
005TEXT_RESULT=$(/usr/bin/mdimport -L)
006DEFAULT_IFS=$IFS
007IFS=$')(,"'
008read -d '\n' -r -a LIST_PATH <<<"$TEXT_RESULT"
009for ITEM_PATH in "${LIST_PATH[@]}"; do
010  STR_FIRST_CHAR="${ITEM_PATH:0:1}"
011    if [[ $STR_FIRST_CHAR == "/" ]]; then
012      /bin/echo "$ITEM_PATH"
013      /usr/bin/mdimport -r "$ITEM_PATH"
014    fi
015done
016exit 0
AppleScriptで生成しました

インポート


あくまでも参考にしてください


サンプルソース(参考)
行番号ソース
001#!/bin/bash
002#com.cocolog-nifty.quicktimer.icefloe
003#################################################
004#
005/bin/mkdir -p "$HOME/Documents/Apple/Spotlight"
006STR_DATE=$(/bin/date +'%Y%m%d')
007STR_FILENAME="mdimport.d3.$STR_DATE.txt"
008/usr/bin/mdimport -t -d3 "$HOME/Library/Scripts" >> "$HOME/Documents/Apple/Spotlight/$STR_FILENAME"
009
010STR_FILENAME="mdimport.p.$STR_DATE.txt"
011/usr/bin/mdimport -t -p "$HOME/Library/Scripts" >> "$HOME/Documents/Apple/Spotlight/$STR_FILENAME"
012
013/usr/bin/mdimport -i "$HOME/Library/Scripts"
014
015exit 0
AppleScriptで生成しました

リセットしてもダメなとき用



#!/usr/bin/env osascript

----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

#

#

#

#

#                       com.cocolog-nifty.quicktimer.icefloe

----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

##自分環境がos12なので2.8にしているだけです

use AppleScript version "2.8"

use framework "Foundation"

use scripting additions


######ログ表示

doLogView()


property refMe : a reference to current application

property refNSString : a reference to refMe's NSString

property refNSMutableString : a reference to refMe's NSMutableString

property refNSURL : a reference to refMe's NSURL

property refNSNotFound : a reference to 9.22337203685477E+18 + 5807


property refNSURLResourceKey : a reference to refMe's NSURLResourceKey

property refNSURLIsHiddenKey : a reference to refNSURLResourceKey's NSURLIsHiddenKey

property refNSURLIsDirectoryKey : a reference to refNSURLResourceKey's NSURLIsDirectoryKey


set objFileManager to refMe's NSFileManager's defaultManager()



set strDirPath to "/Users/Shared"


##Make NSString

set ocidNSString to refNSString's stringWithString:strDirPath

set ocidURLPath to refNSURL's fileURLWithPath:ocidNSString

set ocidFilePathArray to objFileManager's subpathsOfDirectoryAtPath:ocidURLPath |error|:(missing value)


repeat with ocidFilePath in ocidFilePathArray

set strSubpath to ocidFilePath as text

set strFullPath to strDirPath & "/" & strSubpath as text

set ocidFilePathURL to (refNSURL's fileURLWithPath:strFullPath)

#####不可視ファイルの場合

set ocidResponseArray to (ocidFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsHiddenKey) |error|:(reference))

set boolHiddenKey to (item 2 of ocidResponseArray) as boolean

#####ディレクトリの場合

set ocidResponseArray to (ocidFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsDirectoryKey) |error|:(reference))

set boolDirectoryKey to (item 2 of ocidResponseArray) as boolean

#####ロックされているか?どうか?

set ocidResponseArray to (ocidFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsUserImmutableKey) |error|:(reference))

set boolImmutableKeyKey to (item 2 of ocidResponseArray) as boolean

#####DS_Storeは処理しない

set ocidLastPathName to ocidFilePathURL's lastPathComponent()

set strLastPathName to ocidLastPathName as text

if strLastPathName starts with "." then

log "DS_Store等は処理しない"

else

if boolDirectoryKey is true then

log "ディレクトリは処理しない"

else

if boolImmutableKeyKey is true then

log "ロックファイルは処理しない"

else

if (boolHiddenKey as boolean) is false then

###メタデータ処理する場合はこちらも

##set strCommandText to "/usr/bin/xattr -rc \"" & strFullPath & "\"" as text

##do shell script strCommandText

set strCommandText to "/usr/bin/mdimport -i \"" & strFullPath & "\"" as text

do shell script strCommandText

end if

end if

end if

end if

end repeat



display notification "処理終了" with title "処理が終了" subtitle "処理が終了しました" sound name "Sonumi"

log ">>>>>>>>>>>>処理終了<<<<<<<<<<<<<<<"

return ">>>>>>>>>>>>処理終了<<<<<<<<<<<<<<<"





#########################ログ表示

to doLogView()

tell application "System Events"

set listAppList to title of (every process where background only is false)

end tell

repeat with objAppList in listAppList

set strAppList to objAppList as text

if strAppList is "スクリプトエディタ" then

tell application "Script Editor"

if frontmost is true then

try

tell application "System Events" to click menu item "ログを表示" of menu "表示" of menu bar item "表示" of menu bar 1 of application process "Script Editor"

end try

end if

end tell

tell application "Script Editor"

tell application "System Events"

tell process "Script Editor"

tell window 1

tell splitter group 1

tell splitter group 1

tell group 1

tell checkbox "返された値"

set boolValue to value as boolean

end tell

if boolValue is false then

click checkbox "返された値"

end if

end tell

end tell

end tell

end tell

end tell

end tell

end tell

end if

end repeat

end doLogView

#########################

|

« Spotlight | トップページ | [NSURLResourceKey]|error|:(reference) »

AppleScript Spotlight」カテゴリの記事