AppleScript Attributes

[xattr]コマンドラインからFinerラベルを設定する

Screen-20231025-110644

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

#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
#################################################
STR_DIR_PATH="$HOME/Desktop/レッド フォルダ/"
/bin/mkdir -p "$STR_DIR_PATH"

PLIST_RED="<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><array><string>レッド</string></array></plist>"

### -w 属性を登録する
/usr/bin/xattr -w com.apple.metadata:_kMDItemUserTags "$PLIST_RED" "$STR_DIR_PATH"
#################################################
STR_DIR_PATH="$HOME/Desktop/ブルー フォルダ/"
/bin/mkdir -p "$STR_DIR_PATH"

PLIST_RED="<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><array><string>ブルー</string></array></plist>"

### -w 属性を登録する
/usr/bin/xattr -w com.apple.metadata:_kMDItemUserTags "$PLIST_RED" "$STR_DIR_PATH"

#################################################
STR_DIR_PATH="$HOME/Desktop/ブルー・レッド フォルダ/"
/bin/mkdir -p "$STR_DIR_PATH"

PLIST_RED="<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><array><string>レッド</string><string>ブルー</string></array></plist>"

### -w 属性を登録する
/usr/bin/xattr -w com.apple.metadata:_kMDItemUserTags "$PLIST_RED" "$STR_DIR_PATH"

#################################################
STR_DIR_PATH="$HOME/Desktop/レッド・ブルー フォルダ/"
/bin/mkdir -p "$STR_DIR_PATH"

PLIST_RED="<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><array><string>ブルー</string><string>レッド</string></array></plist>"

### -w 属性を登録する
/usr/bin/xattr -w com.apple.metadata:_kMDItemUserTags "$PLIST_RED" "$STR_DIR_PATH"


#################################################
STR_DIR_PATH="$HOME/Desktop/ラベル色無し フォルダ/"
/bin/mkdir -p "$STR_DIR_PATH"

PLIST_RED="<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><array><string>ラベル色無し</string></array></plist>"

### -w 属性を登録する
/usr/bin/xattr -w com.apple.metadata:_kMDItemUserTags "$PLIST_RED" "$STR_DIR_PATH"

exit 0


|

[xattr]xattr基本のおさらい


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

#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
#################################################
STR_FILE_PATH="$HOME/Desktop/test.txt"
/usr/bin/touch "$STR_FILE_PATH"

STR_DIR_PATH="$HOME/Desktop/test/"
/bin/mkdir -p "$STR_DIR_PATH"

#################################################
PLIST_RED="<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><array><string>tag1</string><string>レッド</string></array></plist>"

#################################################
### xattr 基本のおさらい
### -x 現在の属性名を表示 作成したばかりなので戻り値はないが
/usr/bin/xattr -x "$STR_FILE_PATH"
/usr/bin/xattr -x "$STR_DIR_PATH"

### -w 属性を登録する ラベルの赤を付与する
/usr/bin/xattr -w com.apple.metadata:_kMDItemUserTags "$PLIST_RED" "$STR_DIR_PATH"
/usr/bin/xattr -w com.apple.metadata:_kMDItemUserTags "$PLIST_RED" "$STR_FILE_PATH"

### -x 現在の属性名を表示 com.apple.metadata:_kMDItemUserTagsが戻り値で入る(タグが設定されているって意味)
/usr/bin/xattr -x "$STR_FILE_PATH"
/usr/bin/xattr -x "$STR_DIR_PATH"

### -p 指定した属性名の内容を表示 タグの内容であるPLISTが表示される
/usr/bin/xattr -p com.apple.metadata:_kMDItemUserTags "$STR_FILE_PATH"
/usr/bin/xattr -p com.apple.metadata:_kMDItemUserTags "$STR_DIR_PATH"

### -d 登録されている属性名を指定して削除クリアする
/usr/bin/xattr -d com.apple.metadata:_kMDItemUserTags "$STR_FILE_PATH"
/usr/bin/xattr -d com.apple.metadata:_kMDItemUserTags "$STR_DIR_PATH"

###-c 登録されている属性を削除クリアする
/usr/bin/xattr -c "$STR_FILE_PATH"
/usr/bin/xattr -c -r "$STR_DIR_PATH"



exit 0


|

[NSFilePosixPermissions]パーミッション変更10進数

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
#       com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

use AppleScript version "2.8"
use framework "Foundation"
use scripting additions


property refMe : a reference to current application
set appFileManager to refMe's NSFileManager's defaultManager()



####ダイアログで使うデフォルトロケーション
tell application "Finder"
  set aliasDefaultLocation to (path to desktop folder from user domain) as alias
end tell

###ANy
set listUTI to {"public.item"}
####ダイアログを出す
set aliasFilePath to (choose file with prompt "ファイルを選んでください" default location (aliasDefaultLocation) of type listUTI with invisibles and showing package contents without multiple selections allowed) as alias

set strFilePath to POSIX path of aliasFilePath
####ドキュメントのパスをNSString
set ocidFilePath to refMe's NSString's stringWithString:strFilePath
set ocidFilePath to ocidFilePath's stringByStandardizingPath
set ocidNSUrlPath to refMe's NSURL's fileURLWithPath:ocidFilePath


###アトリビュートを取得
set ocidFileAttr to appFileManager's attributesOfItemAtPath:ocidFilePath |error|:(missing value)
log (ocidFileAttr's valueForKey:"NSFilePosixPermissions") as integer

###8進数パーミッション値を10進数に変換
set strPemission to doOct2Dem(777)
####パス指定でパーミッション変更 10進数指定
appFileManager's setAttributes:{NSFilePosixPermissions:strPemission} ofItemAtPath:ocidFilePath |error|:(reference)

###511になれば777
###アトリビュートを取得
set ocidFileAttr to appFileManager's attributesOfItemAtPath:ocidFilePath |error|:(missing value)
log (ocidFileAttr's valueForKey:"NSFilePosixPermissions") as integer


###################################
#####パーミッション 8進→10進
(*
###主要なモード NSFilePosixPermissions
777-->511
775-->509
770-->504
755-->493
750-->488
700-->448
555-->365
333-->219
*)
###################################

to doOct2Dem(argOctNo)
  set strOctalText to argOctNo as text
  set num3Line to first item of strOctalText as number
  set num2Line to 2nd item of strOctalText as number
  set num1Line to last item of strOctalText as number
  set numDecimal to (num3Line * 64) + (num2Line * 8) + (num1Line * 1)
  return numDecimal as integer
end doOct2Dem

|

ファイルに設定されているNSFileExtendedAttributesを削除する

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
#       com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

use AppleScript version "2.8"
use framework "Foundation"
use scripting additions


property refMe : a reference to current application
set appFileManager to refMe's NSFileManager's defaultManager()



####ダイアログで使うデフォルトロケーション
tell application "Finder"
  set aliasDefaultLocation to (path to desktop folder from user domain) as alias
end tell

###ANy
set listUTI to {"public.item"}
####ダイアログを出す
set aliasFilePath to (choose file with prompt "ファイルを選んでください" default location (aliasDefaultLocation) of type listUTI with invisibles and showing package contents without multiple selections allowed) as alias

set strFilePath to POSIX path of aliasFilePath
####ドキュメントのパスをNSString
set ocidFilePath to refMe's NSString's stringWithString:strFilePath
set ocidFilePath to ocidFilePath's stringByStandardizingPath
set ocidNSUrlPath to refMe's NSURL's fileURLWithPath:ocidFilePath


###アトリビュートを取得
set ocidFileAttr to appFileManager's attributesOfItemAtPath:ocidFilePath |error|:(missing value)
###ExtendedAttributesを分離取得
set ocidExtendedAttrDict to (ocidFileAttr's valueForKey:"NSFileExtendedAttributes")
###設定されているキーを取得
set ocidAllKyesArray to ocidExtendedAttrDict's allKeys()
###キーの数だけ繰り返し
repeat with itemAllKyesArray in ocidAllKyesArray
  ###削除する
  (ocidExtendedAttrDict's removeObjectForKey:itemAllKyesArray)
end repeat
###確認
if (ocidExtendedAttrDict's valueForKey:"NSFileExtendedAttributes") is missing value then
  log "全て削除しました"
else
  log "何か残ってます"
end if


|

[enumeratorAtURL]ファイルアトリビュートを削除する(深部まで)

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

on run
  set aliasDefaultLocation to (path to desktop from user domain) as alias
  set strPromptText to "フォルダをえらんでください"
  set strPromptText to "フォルダをえらんでください"
  try
    set listFolderPath to (choose folder strPromptText with prompt strPromptText default location aliasDefaultLocation with multiple selections allowed, invisibles and showing package contents) as list
  on error
    log "エラーしました"
    return
  end try
  open listFolderPath
end run




on open listFolderPath
  ###ファイルマネジャー初期化
  set appFileManager to refMe's NSFileManager's defaultManager()
  ####フォルダの数だけ繰り返し
  repeat with itemFolderPath in listFolderPath
    ######パス
    set aliasDirPath to itemFolderPath as alias
    set strDirPath to POSIX path of aliasDirPath as text
    set ocidDirPath to (refMe's NSString's stringWithString:strDirPath)
    set ocidDirPath to ocidDirPath's stringByStandardizingPath
    set ocidDirPathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidDirPath isDirectory:true)
    ###enumeratorAtURL用のBoolean
    set ocidFalse to (refMe's NSNumber's numberWithBool:false)
    set ocidTrue to (refMe's NSNumber's numberWithBool:true)
    ###enumeratorAtURLL格納用のレコード
    set ocidEmuDict to (refMe's NSMutableDictionary's alloc()'s initWithCapacity:0)
    ###enumeratorAtURL格納するリスト
    set ocidEmuFileURLArray to (refMe's NSMutableArray's alloc()'s initWithCapacity:0)
    ###ファイルURLのみを格納するリスト
    set ocidFilePathURLArray to (refMe's NSMutableArray's alloc()'s initWithCapacity:0)
    ####
    set ocidFilePathArray to (refMe's NSMutableArray's alloc()'s initWithCapacity:0)
    ####
    set ocidSortedArray to (refMe's NSMutableArray's alloc()'s initWithCapacity:0)
    ##############################################
    ##ディレクトリのコンテツを収集
    ##############################################
    ###収集する付随プロパティ
    set ocidPropertiesForKeys to {refMe's NSURLIsRegularFileKey}
    ####ディレクトリのコンテツを収集
    set ocidEmuDict to (appFileManager's enumeratorAtURL:ocidDirPathURL includingPropertiesForKeys:ocidPropertiesForKeys options:(refMe's NSDirectoryEnumerationSkipsHiddenFiles) errorHandler:(reference))
    ###戻り値用のリストに格納
    set ocidEmuFileURLArray to ocidEmuDict's allObjects()
    ##############################################
    ##『ファイル』だけ取り出したリストにする
    ##############################################
    
    ####enumeratorAtURLのかずだけ繰り返し
    repeat with itemEmuFileURL in ocidEmuFileURLArray
      ####URLforKeyで取り出し
      set listResult to (itemEmuFileURL's getResourceValue:(reference) forKey:(refMe's NSURLIsRegularFileKey) |error|:(reference))
      ###リストからNSURLIsRegularFileKeyBOOLを取り出し
      set boolIsRegularFileKey to item 2 of listResult
      ####ファイルのみを(ディレクトリやリンボリックリンクは含まない)
      if boolIsRegularFileKey is ocidTrue then
        ####リストにする
        (ocidFilePathURLArray's addObject:itemEmuFileURL)
      end if
    end repeat
    
    ###解放
    set ocidEmuFileURLArray to ""
    set ocidEmuDict to ""
    ##############################################
    ##ソート
    ##############################################
    ###NSURLのリストを一旦パスに変更
    set ocidFilePathArray to (ocidFilePathURLArray's valueForKeyPath:"path")
    ###パスでソートしてから
    set ocidSortedArray to (ocidFilePathArray's sortedArrayUsingSelector:"compare:")
    
    
    repeat with itemPathArray in ocidSortedArray
      set strFilePath to itemPathArray as text
      try
        set strCommandText to "/usr/bin/xattr -c \"" & strFilePath & "\"" as text
        set strErrorMes to (do shell script strCommandText) as text
      on error
        log strErrorMes
      end try
    end repeat
    
  end repeat
end open

|

[contentsOfDirectoryAtURL]ファイルアトリビュートを削除する(第一階層のみ)

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

on run
  set aliasDefaultLocation to (path to desktop from user domain) as alias
  set strPromptText to "フォルダをえらんでください"
  set strPromptText to "フォルダをえらんでください"
  try
    set listFolderPath to (choose folder strPromptText with prompt strPromptText default location aliasDefaultLocation with multiple selections allowed, invisibles and showing package contents) as list
  on error
    log "エラーしました"
    return
  end try
  open listFolderPath
end run




on open listFolderPath
  ###ファイルマネジャー初期化
  set appFileManager to refMe's NSFileManager's defaultManager()
  ####フォルダの数だけ繰り返し
  repeat with itemFolderPath in listFolderPath
    ######パス
    set aliasDirPath to itemFolderPath as alias
    set strDirPath to POSIX path of aliasDirPath as text
    set ocidDirPath to (refMe's NSString's stringWithString:strDirPath)
    set ocidDirPath to ocidDirPath's stringByStandardizingPath
    set ocidDirPathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidDirPath isDirectory:true)
    ##プロパティ
    set ocidPropertieKey to {(refMe's NSURLPathKey), (refMe's NSURLIsRegularFileKey)}
    ##オプション
    set ocidOption to refMe's NSDirectoryEnumerationSkipsHiddenFiles
    ##フォルダ内のファイルをArray
    set listPathUrlArray to (appFileManager's contentsOfDirectoryAtURL:ocidDirPathURL includingPropertiesForKeys:ocidPropertieKey options:ocidOption |error|:(reference))
    set ocidPathUrlArray to item 1 of listPathUrlArray
    log className() of ocidPathUrlArray as text
    ##############################
    ####ファイルパスのArrayに戻す
    ##############################
    set ocidPahtArray to (refMe's NSMutableArray's arrayWithCapacity:0)
    repeat with itemPathURL in ocidPathUrlArray
      set strExtension to itemPathURL's pathExtension() as text
      if strExtension is "url" then
        log
        set listResult to (appFileManager's trashItemAtURL:itemPathURL resultingItemURL:(missing value) |error|:(reference))
      else
        set strFilePath to itemPathURL's |path|()
        (ocidPahtArray's addObject:strFilePath)
      end if
    end repeat
    ##############################
    ####並び替え
    ##############################
    set ocidSortDescriptor to (refMe's NSSortDescriptor's sortDescriptorWithKey:"self" ascending:(true) selector:"localizedStandardCompare:")
    (ocidPahtArray's sortUsingDescriptors:{ocidSortDescriptor})
    ###パスリストにする    UNIXパス形式のリストをOPENしても大丈夫
    set listPahtArray to ocidPahtArray as list
    
    repeat with itemPathArray in listPahtArray
      set strFilePath to itemPathArray as text
      try
        set strCommandText to "/usr/bin/xattr -c \"" & strFilePath & "\"" as text
        set strErrorMes to (do shell script strCommandText) as text
      on error
        log strErrorMes
      end tryv
    end repeat
    
  end repeat
end open

|

[xattr]属性削除

フォルダ版

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application
property refNSString : a reference to refMe's NSString
property refNSURL : a reference to refMe's NSURL


###################################
#####入力フォルダ
###################################
###ダイアログのデフォルト
set aliasDefaultLocation to (path to desktop folder from user domain) as alias
###ダイアログテキスト
set strPromptText to "入力フォルダを選んでください"
try
set listResponse to (choose folder strPromptText with prompt strPromptText default location aliasDefaultLocation with multiple selections allowed, invisibles and showing package contents) as list
on error
log "エラーしました"
return
end try


repeat with itemResponse in listResponse
####エイリアス
set aliasDirPath to itemResponse as alias
###UNIXパス
set strDirPath to POSIX path of aliasDirPath as text
###String
set ocidDirPath to (refNSString's stringWithString:strDirPath)
###NSURL
set ocidDirPathURL to (refNSURL's alloc()'s initFileURLWithPath:ocidDirPath isDirectory:true)

set strCommandText to "/usr/bin/xattr \"" & strDirPath & "\"" as text
set strCommandResponse to (do shell script strCommandText) as text

set AppleScript's text item delimiters to "\r"
set listAttributes to (every text item of strCommandResponse) as list
set AppleScript's text item delimiters to ""

repeat with itemAttributes in listAttributes
set strAttributes to itemAttributes as text
set strCommandText to "/usr/bin/xattr -rd " & strAttributes & " \"" & strDirPath & "\"" as text
do shell script strCommandText

end repeat

end repeat



ファイル版

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application
property refNSString : a reference to refMe's NSString
property refNSURL : a reference to refMe's NSURL


###################################
#####入力フォルダ
###################################
###ダイアログのデフォルト
set aliasDefaultLocation to (path to desktop folder from user domain) as alias
###ダイアログテキスト
set strPromptText to "ファイルを選んでください" as text
####UTI
set listUTI to {"public.item", "public.content", "public.data"}
try
set listResponse to (choose file with prompt strPromptText default location aliasDefaultLocation of type listUTI with invisibles, multiple selections allowed and showing package contents) as list

on error
log "エラーしました"
return
end try


repeat with itemResponse in listResponse
####エイリアス
set aliasFilePath to itemResponse as alias
###UNIXパス
set strFilePath to POSIX path of aliasFilePath as text
###String
set ocidFilePath to (refNSString's stringWithString:strFilePath)
###NSURL
set ocidFilePathURL to (refNSURL's alloc()'s initFileURLWithPath:ocidFilePath isDirectory:true)

set strCommandText to "/usr/bin/xattr \"" & strFilePath & "\"" as text
set strCommandResponse to (do shell script strCommandText) as text

set AppleScript's text item delimiters to "\r"
set listAttributes to (every text item of strCommandResponse) as list
set AppleScript's text item delimiters to ""

repeat with itemAttributes in listAttributes
set strAttributes to itemAttributes as text
set strCommandText to "/usr/bin/xattr -rd " & strAttributes & " \"" & strFilePath & "\"" as text
do shell script strCommandText

end repeat

end repeat

|

[attributes]ファイル・ディレクトリFinder属性を確認する

/usr/bin/xattr
FInderで設定した属性タグとか?の内容を確認します


sh-3.2$ pwd

/Users/Shared

sh-3.2$ ls

AdobeLibraryPublicZoomOutlookPlugin

ApplicationPicturesSC Infoadi

sh-3.2$ /usr/bin/xattr *

Pictures: com.apple.FinderInfo

Pictures: com.apple.metadata:_kMDItemUserTags

Public: com.apple.FinderInfo

Public: com.apple.metadata:_kMDItemUserTags

SC Info: com.apple.FinderInfo

sh-3.2$ 


|

その他のカテゴリー

Acrobat Acrobat Annotation Acrobat Dialog Acrobat Form Acrobat JS Acrobat Open Acrobat Plugin Acrobat python Acrobat Reader Acrobat Sequ Acrobat Stamps Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin System Information Admin Tools Admin Users Admin Volumes Adobe Apple AppleScript AppleScript Guide AppleScript Accessibility AppleScript AppKit AppleScript Applications AppleScript AppStore AppleScript Archive AppleScript Attributes AppleScript Automator AppleScript AVAsset AppleScript AVconvert AppleScript AVFoundation AppleScript AVURLAsset AppleScript BackUp AppleScript Barcode AppleScript Bash AppleScript Basic AppleScript Basic Path AppleScript Bluetooth AppleScript BOX AppleScript Browser AppleScript Calendar AppleScript CD/DVD AppleScript Choose AppleScript Chrome AppleScript CIImage AppleScript CloudStorage AppleScript Color AppleScript com.apple.LaunchServices.OpenWith AppleScript Console AppleScript Contacts AppleScript CotEditor AppleScript CURL AppleScript current application AppleScript Date&Time AppleScript delimiters AppleScript Desktop AppleScript Device AppleScript Disk AppleScript do shell script AppleScript Dock AppleScript DropBox AppleScript eMail AppleScript Encode Decode AppleScript Error AppleScript EXIFData AppleScript ffmpeg AppleScript File AppleScript Finder AppleScript Firefox AppleScript Folder AppleScript Fonts AppleScript GIF AppleScript HTML AppleScript Icon AppleScript Illustrator AppleScript Image Events AppleScript Image2PDF AppleScript ImageOptim Applescript iWork AppleScript Javascript AppleScript Jedit AppleScript Json AppleScript Label AppleScript List AppleScript locationd AppleScript LRC AppleScript LSSharedFileList AppleScript m3u8 AppleScript MakePDF AppleScript Map AppleScript Math AppleScript Microsoft AppleScript Microsoft Edge AppleScript Microsoft Excel AppleScript Mobileconfig AppleScript Mouse AppleScript Movie AppleScript Music AppleScript NetWork AppleScript Notes AppleScript NSArray AppleScript NSBitmapImageRep AppleScript NSBundle AppleScript NSCFBoolean AppleScript NSCharacterSet AppleScript NSColor AppleScript NSColorList AppleScript NSData AppleScript NSDictionary AppleScript NSError AppleScript NSEvent AppleScript NSFileAttributes AppleScript NSFileManager AppleScript NSFont AppleScript NSFontManager AppleScript NSImage AppleScript NSIndex AppleScript NSKeyedArchiver AppleScript NSKeyedUnarchiver AppleScript NSLocale AppleScript NSMutableArray AppleScript NSMutableDictionary AppleScript NSMutableString AppleScript NSNotFound AppleScript NSNumber AppleScript NSOpenPanel AppleScript NSPasteboard AppleScript NSPDFImageRep AppleScript NSpoint AppleScript NSPredicate AppleScript NSRange AppleScript NSRegularExpression AppleScript NSRunningApplication AppleScript NSScreen AppleScript NSSize AppleScript NSString AppleScript NSStringCompareOptions AppleScript NSTask AppleScript NSTimeZone AppleScript NSURL AppleScript NSURL File AppleScript NSURLBookmark AppleScript NSURLComponents AppleScript NSURLResourceKey AppleScript NSUserDefaults AppleScript NSUUID AppleScript NSView AppleScript NSWorkspace AppleScript Numbers AppleScript OAuth AppleScript ObjC AppleScript OneDrive AppleScript Osax AppleScript PDF AppleScript PDFAnnotationWidget AppleScript PDFContext AppleScript PDFDisplayBox AppleScript PDFDocumentPermissions AppleScript PDFKit AppleScript PDFnUP AppleScript PDFOutline AppleScript Photos AppleScript Photoshop AppleScript Plist System Events AppleScript PostScript AppleScript prefPane AppleScript Preview AppleScript Python AppleScript QR AppleScript QR Decode AppleScript QuickLook AppleScript QuickTime AppleScript record AppleScript Regular Expression AppleScript Reminders AppleScript ReName AppleScript Repeat AppleScript RTF AppleScript Safari AppleScript SaveFile AppleScript ScreenCapture AppleScript ScreenSaver AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript Sort AppleScript Sound AppleScript Spotlight AppleScript SRT AppleScript StandardAdditions AppleScript stringByApplyingTransform AppleScript System Events AppleScript System Settings AppleScript TemporaryItems AppleScript Terminal AppleScript Text AppleScript Text CSV AppleScript Text TSV AppleScript TextEdit AppleScript Translate AppleScript Trash AppleScript Twitter AppleScript UI AppleScript Unit Conversion AppleScript UTType AppleScript valueForKeyPath AppleScript Video AppleScript VisionKit AppleScript Visual Studio Code AppleScript webarchive AppleScript webp AppleScript Wifi AppleScript XML AppleScript XML EPUB AppleScript XML OPML AppleScript XML Plist AppleScript XML RSS AppleScript XML SVG AppleScript XML TTML AppleScript XML webloc AppleScript YouTube AppleScript Zero Suppress Applications Barcode OnLine Tools CityCode Design iPhone List Logs lsappinfo Memo Music perl PlistBuddy pluginkit postalcode ReadMe SF Symbols character id SF Symbols Entity sips Skype Slack sqlite TCC Tools Typography Video Wacom zoom