AppleScript OneDrive

launchctlのファイルをロックしてアップデート停止する


#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
#
#################################################
USER_WHOAMI=$(/usr/bin/whoami)
/bin/echo "実行ユーザー(whoami): $USER_WHOAMI"
if [ "$USER_WHOAMI" != "root" ]; then
  ###実行しているユーザー名
CONSOLE_USER=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/ { print $3 }')
/bin/echo "コンソールユーザー(scutil): $CONSOLE_USER"
  ###管理者インストールしているか?チェック
/bin/echo "このスクリプトを実行するには管理者権限が必要です。"
/bin/echo "sudo で実行してください"
  ### path to me
SCRIPT_PATH="${BASH_SOURCE[0]}"
/bin/echo "/usr/bin/sudo \"$SCRIPT_PATH\""
/bin/echo "↑を実行してください"
exit 1
else
  ###実行しているユーザー名
CONSOLE_USER=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/ { print $3 }')
/bin/echo "コンソールユーザー(scutil): $CONSOLE_USER"
  ###実行しているユーザー名
HOME_USER=$(/bin/echo "$HOME" | /usr/bin/awk -F'/' '{print $NF}')
/bin/echo "実行ユーザー(HOME): $HOME_USER"
  ###logname
LOGIN_NAME=$(/usr/bin/logname)
/bin/echo "ログイン名(logname): $LOGIN_NAME"
  ###UID
USER_NAME=$(/usr/bin/id -un)
/bin/echo "ユーザー名(id): $USER_NAME"
  ###STAT
STAT_USR=$(/usr/bin/stat -f%Su /dev/console)
/bin/echo "STAT_USR(console): $STAT_USR"
fi

########################################
##
STR_FILE_PATH_A="/Library/LaunchAgents/com.microsoft.OneDriveStandaloneUpdater.plist"
STR_FILE_PATH_B="/Library/LaunchDaemons/com.microsoft.OneDriveStandaloneUpdaterDaemon.plist"
STR_FILE_PATH_C="/Library/LaunchDaemons/com.microsoft.OneDriveUpdaterDaemon.plist"
##
LIST_FILE_PATH=("$STR_FILE_PATH_A" "$STR_FILE_PATH_B" "$STR_FILE_PATH_C")
##
for ITEM_FILE_PATH in "${LIST_FILE_PATH[@]}"; do
/usr/bin/sudo /bin/ls -ale "$STR_FILE_PATH"
  ##鍵=ロック解除して
/usr/bin/sudo /usr/bin/chflags noschg "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/chflags nosimmutable "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/chflags nouchg "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/chflags nouimmutable "$ITEM_FILE_PATH"
  ##ACLをクリアして
/usr/bin/sudo /bin/chmod -N "$ITEM_FILE_PATH"
/usr/bin/sudo /bin/ls -ale "$ITEM_FILE_PATH"
  ##削除
/usr/bin/sudo /bin/rm -f "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/touch "$ITEM_FILE_PATH"
  ##ACLつけて
/usr/bin/sudo /bin/chmod +a "user:root deny delete" "$ITEM_FILE_PATH"
/usr/bin/sudo /bin/chmod +a "group:wheel deny delete" "$ITEM_FILE_PATH"
  ##鍵つけて 削除できない
/usr/bin/sudo /usr/bin/chflags schg "$ITEM_FILE_PATH"
done

exit 0


|

OneDrive関連プロセス一斉終了


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

#!/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 framework "UniformTypeIdentifiers"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application


set listBundleID to {"com.microsoft.OneDrive", "com.microsoft.SharePoint-mac", "com.microsoft.OneDrive.OneDriveFileHandler", "com.microsoft.OneDrive.DownloadAndGo", "com.microsoft.OneDriveUpdater", "com.microsoft.SkyDriveLauncher", "com.microsoft.OneDriveLauncher", "com.microsoft.OneDriveStandaloneUpdater", "com.microsoft.SyncReporter"} as list
repeat with itemBundleID in listBundleID
  set strBundleID to itemBundleID as text
  try
    tell application id strBundleID to quit
  end try
end repeat


repeat with itemBundleID in listBundleID
  set strBundleID to itemBundleID as text
  try
    set ocidResultsArray to (refMe's NSRunningApplication's runningApplicationsWithBundleIdentifier:(strBundleID))
    set numCntArray to ocidResultsArray count
    set ocidRunApp to (ocidResultsArray's objectAtIndex:0)
    ###通常終了
    set boolDone to ocidRunApp's terminate()
    ####強制終了
    set boolDone to ocidRunApp's forceTerminate()
  end try
end repeat







set listAppName to {"OneDrive", "Microsoft SharePoint", "OneDrive File Handler", "OneDrive File Launcher", "OneDriveUpdater", "OneDriveStandaloneUpdater", "SyncReporter", "OneDriveLauncher", "LauncherDisabler"} as list


repeat with itemAppName in listAppName
  set strAppName to itemAppName as text
  set strCommandText to "/bin/ps -alxe | grep \"" & strAppName & "\" | grep -v \"grep\" | awk '{ print $2 }'" as text
  set strResponce to (do shell script strCommandText) as text
log strResponce
  set AppleScript's text item delimiters to "\r"
  set listPID to every text item of strResponce
  set AppleScript's text item delimiters to ""
  
  if (count of listPID) = 0 then
log "対象プロセス無し"
  else
    repeat with itemPID in listPID
      ###プロセスを終了させる
doQuitApp2PID(itemPID)
    end repeat
  end if
end repeat


repeat with itemAppName in listAppName
  ##念押し
  try
    set strCommandText to "/usr/bin/killall -QUIT '" & itemAppName & "'" as text
    set strResponce to (do shell script strCommandText) as text
  on error
    try
      set strCommandText to "/usr/bin/killall -KILL '" & itemAppName & "'" as text
      set strResponce to (do shell script strCommandText) as text
    end try
  end try
end repeat




###################################
########アプリケーションを終了させる
###################################
to doQuitApp2PID(argPID)
  set strPID to argPID as text
  #### killallを使う場合
  set strCommandText to ("/bin/kill -15 " & strPID & "") as text
  set ocidCommandText to refMe's NSString's stringWithString:strCommandText
  set ocidTermTask to refMe's NSTask's alloc()'s init()
ocidTermTask's setLaunchPath:"/bin/zsh"
ocidTermTask's setArguments:({"-c", ocidCommandText})
  set listResults to ocidTermTask's launchAndReturnError:(reference)
log listResults
  if item 1 of listResults is true then
log "正常終了"
  else
    try
      set strCommandText to ("/bin/kill -9 " & strPID & "") as text
      set strResponse to (do shell script strCommandText) as text
    end try
  end if
end doQuitApp2PID


|

OneDriveバージョンチェッカv3


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

#!/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 framework "UniformTypeIdentifiers"
use framework "AppKit"
use scripting additions
property refMe : a reference to current application

###アプリケーションのバンドルID
set strBundleID to "com.microsoft.OneDrive"
#
set strURL to ("https://go.microsoft.com/fwlink/?linkid=823060") as text
#リダレイト先を取得
set strCommandText to ("/usr/bin/curl -s -L -I -w '%{url_effective}' \"" & strURL & "\" -o /dev/null")
set strResponse to (do shell script strCommandText) as text
#
set ocidURLString to refMe's NSString's stringWithString:(strResponse)
set ocidURLArray to ocidURLString's componentsSeparatedByString:("/")
set ocidVerSion to (item 6 of ocidURLArray)
set ocidVerArray to ocidVerSion's componentsSeparatedByString:(".")
ocidVerArray's removeLastObject()
set strVerSion to ocidVerArray's componentsJoinedByString:((".") as text)

################################################
###### インストール済みのパージョン
################################################
set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
##バンドルからアプリケーションのURLを取得
set ocidAppBundle to (refMe's NSBundle's bundleWithIdentifier:(strBundleID))
if ocidAppBundle ≠ (missing value) then
  set ocidAppPathURL to ocidAppBundle's bundleURL()
else if ocidAppBundle = (missing value) then
  set ocidAppPathURL to (appSharedWorkspace's URLForApplicationWithBundleIdentifier:(strBundleID))
end if
##予備(アプリケーションのURL)
if ocidAppPathURL = (missing value) then
  tell application "Finder"
    try
      set aliasAppApth to (application file id strBundleID) as alias
      set strAppPath to POSIX path of aliasAppApth as text
      set strAppPathStr to refMe's NSString's stringWithString:(strAppPath)
      set strAppPath to strAppPathStr's stringByStandardizingPath()
      set ocidAppPathURL to refMe's NSURL's alloc()'s initFileURLWithPath:(strAppPath) isDirectory:true
    on error
return "アプリケーションが見つかりませんでした"
    end try
  end tell
end if
set ocidFilePathURL to ocidAppPathURL's URLByAppendingPathComponent:("Contents/Info.plist")
#####PLISTの内容を読み込んで
set ocidPlistDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
set listReadPlistData to refMe's NSMutableDictionary's dictionaryWithContentsOfURL:ocidFilePathURL |error|:(reference)
set ocidPlistDict to item 1 of listReadPlistData
# set ocidCfbundleversionPlist to ocidPlistDict's valueForKey:"CFBundleVersion"
set ocidCfbundleversionPlist to ocidPlistDict's valueForKey:"CFBundleShortVersionString"


################################################
###### チェック
################################################
set strCfbundleversionXML to strVerSion as text
set strCfbundleversionPlist to ocidCfbundleversionPlist as text

if strCfbundleversionXML is strCfbundleversionPlist then
  set strTitle to "最新版を利用中です" as text
  set strMes to (strTitle & "\rRSS:" & strCfbundleversionXML & "\rPLIST:" & strCfbundleversionPlist & "\rLink:" & strURL & "\r") as text
else
  set strTitle to "アップデートがあります" as text
  set strMes to (strTitle & "\rRSS:" & strCfbundleversionXML & "\rPLIST:" & strCfbundleversionPlist & "\rLink:" & strURL & "\r") as text
end if

################################################
###### ダイアログ
################################################
set appFileManager to refMe's NSFileManager's defaultManager()

####ダイアログに指定アプリのアイコンを表示する
###アイコン名をPLISTから取得
set strIconFileName to (ocidPlistDict's valueForKey:("CFBundleIconFile")) as text

###ICONのURLにして
set strPath to ("Contents/Resources/" & strIconFileName) as text
set ocidIconFilePathURL to ocidAppPathURL's URLByAppendingPathComponent:(strPath) isDirectory:false
###拡張子の有無チェック
set strExtensionName to (ocidIconFilePathURL's pathExtension()) as text
if strExtensionName is "" then
  set ocidIconFilePathURL to ocidIconFilePathURL's URLByAppendingPathExtension:"icns"
end if
##-->これがアイコンパス
log ocidIconFilePathURL's absoluteString() as text
###ICONファイルが実際にあるか?チェック
set boolExists to appFileManager's fileExistsAtPath:(ocidIconFilePathURL's |path|)
###ICONがみつかない時用にデフォルトを用意する
if boolExists is false then
  set aliasIconPath to POSIX file "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertNoteIcon.icns"
else
  set aliasIconPath to ocidIconFilePathURL's absoluteURL() as alias
  set strIconPath to ocidIconFilePathURL's |path|() as text
end if

set recordResult to (display dialog strTitle with title strTitle default answer strMes buttons {"クリップボードにコピー", "終了", "ダウンロード"} default button "ダウンロード" cancel button "終了" giving up after 20 with icon aliasIconPath without hidden answer)

if button returned of recordResult is "ダウンロード" then
  tell application "Finder"
open location strURL
  end tell
end if
if button returned of recordResult is "クリップボードにコピー" then
  try
    set strText to text returned of recordResult as text
    ####ペーストボード宣言
    set appPasteboard to refMe's NSPasteboard's generalPasteboard()
    set ocidText to (refMe's NSString's stringWithString:(strText))
appPasteboard's clearContents()
appPasteboard's setString:(ocidText) forType:(refMe's NSPasteboardTypeString)
  on error
    tell application "Finder"
      set the clipboard to strTitle as text
    end tell
  end try
end if


return


|

[CloudStorage]クラウドドライブを開く

複数アカウントに対応した
CloudStorageの複数アカウントは
『サービス名』-『アカウント名』となっている
OneDriveなら
OneDrive-個人用 OneDrive-企業名 OneDrive-組織名
GoogleDriveなら
GoogleDrive-メールアドレス
Boxなら
Box-Boxが個人用 Box-アカウント名が組織用



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

#!/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 strDriveName to "GoogleDrive" as text
(*
set strDriveName to "Box"
set strDriveName to "OneDrive"
set strDriveName to "DropBox"
set strDriveName to "GoogleDrive"
*)


set appFileManager to refMe's NSFileManager's defaultManager()
set appShardWorkspace to refMe's NSWorkspace's sharedWorkspace()

###################################
#####パス
###################################
set ocidHomeDirUrl to appFileManager's homeDirectoryForCurrentUser()
set ocidCloudStorageDirURL to ocidHomeDirUrl's URLByAppendingPathComponent:"Library/CloudStorage"

###################################
#####複数アカウントあるか調べる
###################################
###プロパティ設定
set ocidPropertieKey to {(refMe's NSURLPathKey), (refMe's NSURLIsDirectoryKey)}
###オプション設定
set ocidOption to refMe's NSDirectoryEnumerationSkipsHiddenFiles
###ディレクトリのコンテンツを取得(第一階層のみ)
set listPathUrlArray to (appFileManager's contentsOfDirectoryAtURL:ocidCloudStorageDirURL includingPropertiesForKeys:ocidPropertieKey options:ocidOption |error|:(reference))
###Arrayに格納
set ocidPathUrlArray to item 1 of listPathUrlArray
###パス格納用のArrayを作って
set ocidPathArray to (refMe's NSMutableArray's arrayWithCapacity:0)
####コンテンツの数だけ繰り返し
repeat with itemPathUrlArray in ocidPathUrlArray
  ###最後のパスを取得して
  set ocidLastPathName to itemPathUrlArray's lastPathComponent()
  ###テキストに
  set strLastPathName to ocidLastPathName as text
  ###最後のパスにBoxが含まれていたら
  if strLastPathName starts with strDriveName then
    ###Arrayに格納
    (ocidPathArray's addObject:itemPathUrlArray)
  end if
end repeat
###################################
#####複数アカウント時
###################################
set numCntArray to (ocidPathArray count) as integer
#####アカウント数0
if numCntArray = 0 then
  return "CloudStorageに対象のアカウントがありません。ソフトウェアをアップデートしてください"
  ####アカウント数1
else if numCntArray = 1 then
  set ocidFilePathURL to ocidPathArray's objectAtIndex:0
  set aliasFilePathURL to ocidFilePathURL as alias
  set boolResults to (appShardWorkspace's openURL:ocidFilePathURL)
  if boolResults is false then
    tell application "Finder"
      make new Finder window to aliasFilePathURL
    end tell
  end if
  return "処理終了"
else
  ####複数アカウント
  set listDirName to {} as list
  repeat with itemPathArray in ocidPathArray
    set strDirName to (itemPathArray's lastPathComponent()) as text
    copy strDirName to end of listDirName
  end repeat
  ####ダイアログを前面に出す
  tell current application
    set strName to name as text
  end tell
  ####スクリプトメニューから実行したら
  if strName is "osascript" then
    tell application "Finder"
      activate
    end tell
  else
    tell current application
      activate
    end tell
  end if
  try
    set listResponse to (choose from list listDirName with title "選んでください" with prompt "開くフォルダを選んでください" default items (item 1 of listDirName) OK button name "OK" cancel button name "キャンセル" without multiple selections allowed and empty selection allowed)
    log class of listResponse
  on error
    log "エラーしました"
    return "エラーしました"
  end try
  if listResponse is false then
    return "キャンセルしました"
  end if
  set itemPathArray to (item 1 of listResponse) as text
  set ocidCloudStorageDirURL to ocidCloudStorageDirURL's URLByAppendingPathComponent:strDirName
end if

###################################
#####開く
###################################
repeat with itemPathArray in ocidPathArray
  set aliasFilePathURL to itemPathArray as alias
  set boolResults to (appShardWorkspace's openURL:itemPathArray)
  if boolResults is false then
    tell application "Finder"
      make new Finder window to aliasFilePathURL
    end tell
  end if
end repeat

return "選択オープン処理終了"





|

[OneDrive]デスクトップにOneDriveのエイリアスをアイコン付きで作成する

こんな感じでデスクトップにエイリアスを作ります
Screencapture-20230407-02831



ダウンロード - onedriveicon.zip




↓単体では動作しません。必ず↑をダウンロードして使ってください
(中にアイコンファイル用のコマンドが内包されています)


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

#!/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()

################################################
####クラウドストレージ内のOneDriveフォルダが複数ある場合対応
################################################
##ホームディレクトリ
set ocidHomeDirUrl to appFileManager's homeDirectoryForCurrentUser()
###クラウドストレージ
set ocidCloudStorageDirURL to ocidHomeDirUrl's URLByAppendingPathComponent:"Library/CloudStorage"
###プロパティ設定
set ocidPropertieKey to {(refMe's NSURLPathKey), (refMe's NSURLIsDirectoryKey)}
###オプション設定
set ocidOption to refMe's NSDirectoryEnumerationSkipsHiddenFiles
###ディレクトリのコンテンツを取得(第一階層のみ)
set listPathUrlArray to (appFileManager's contentsOfDirectoryAtURL:ocidCloudStorageDirURL includingPropertiesForKeys:ocidPropertieKey options:ocidOption |error|:(reference))
###Arrayに格納
set ocidPathUrlArray to item 1 of listPathUrlArray
###パス格納用のArrayを作って
set ocidPathArray to (refMe's NSMutableArray's arrayWithCapacity:0)
####コンテンツの数だけ繰り返し
repeat with itemPathUrlArray in ocidPathUrlArray
  ###最後のパスを取得して
  set ocidLastPathName to itemPathUrlArray's lastPathComponent()
  ###テキストに
  set strLastPathName to ocidLastPathName as text
  ###最後のパスにOneDriveが含まれていたら
  if strLastPathName starts with "OneDrive" then
    ###そのパスをUNIXパス形式で
    set ocidDirPath to itemPathUrlArray's |path|()
    ###Arrayに格納
    (ocidPathArray's addObject:ocidDirPath)
  end if
end repeat


####################################
###アイコンのパス
set strIconFilePath to "/Applications/OneDrive.app/Contents/Resources/OneDrive.icns" as text

####################################
####エイリアスが作られる場所 デスクトップ
set ocidDesktopFilePathURL to ocidHomeDirUrl's URLByAppendingPathComponent:"Desktop"

################################################
####クラウドストレージ内のOneDriveフォルダの数だけ繰り返し
################################################
repeat with itemPathArray in ocidPathArray
  set strItemPath to itemPathArray as text
  ####################################
  ####エイリアスの元ファイル
  ####################################
  set ocidFilePathStr to (refMe's NSString's stringWithString:strItemPath)
  set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
  set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidFilePath isDirectory:false)
  set ocidDirName to ocidFilePathURL's lastPathComponent()
  ###デスクトップにフォルダ名を追加してエリアスのパスに
  set ocidAddAliasFilePathURL to (ocidDesktopFilePathURL's URLByAppendingPathComponent:ocidDirName)
  set strAddAliasFilePathURL to ocidAddAliasFilePathURL's |path|() as text
  
  ####################################
  #### エイリアスを作る
  ####################################
  set listBookMarkNSData to (ocidFilePathURL's bookmarkDataWithOptions:(refMe's NSURLBookmarkCreationSuitableForBookmarkFile) includingResourceValuesForKeys:{refMe's NSURLCustomIconKey} relativeToURL:(missing value) |error|:(reference))
  set ocdiBookMarkData to (item 1 of listBookMarkNSData)
  set listResults to (refMe's NSURL's writeBookmarkData:ocdiBookMarkData toURL:ocidAddAliasFilePathURL options:(refMe's NSURLBookmarkCreationSuitableForBookmarkFile) |error|:(reference))
  
  ####################################
  #### アイコンを付与
  ####################################
  tell application "Finder"
    set aliasIconFilePath to (path to me) as alias
    set aliiasContainerDirPath to container of aliasIconFilePath as alias
  end tell
  set strIconPath to (POSIX path of aliiasContainerDirPath) as text
  set strBinPath to (strIconPath & "bin/seticon") as text
  set strCommandText to ("\"" & strBinPath & "\" \"" & strIconFilePath & "\" \"" & strAddAliasFilePathURL & "\"") as text
  do shell script strCommandText
end repeat

return

|

その他のカテゴリー

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