Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

タグ: 10.12savvy

POSIX Pathから拡張子を外して、別の拡張子に付け替える

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:POSIX Pathから拡張子を外して、別の拡張子に付け替える
— Created 2017-11-05 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aPath to "/Users/me/Desktop/test2.scpt"

set pathString to current application’s NSString’s stringWithString:aPath
set newPath to ((pathString’s stringByDeletingPathExtension())’s stringByAppendingPathExtension:"scptd") as string
–>  "/Users/me/Desktop/test2.scptd"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

ファイル名から拡張子を外して、別の拡張子に付け替える

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:ファイル名から拡張子を外して、別の拡張子に付け替える
— Created 2018-01-29 by Takaaki Naganoya
— 2018 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set origName to "6020 Touch BarとAppleScript.md"
set newName to repFileNameExtension(origName, ".pdf") of me
–>  "6020 Touch BarとAppleScript.pdf"

set origName to "6020 Touch BarとAppleScript"
set newName to repFileNameExtension(origName, ".pdf") of me
–>  "6020 Touch BarとAppleScript.pdf"

on repFileNameExtension(origName, newExt)
  set aName to current application’s NSString’s stringWithString:origName
  
set theExtension to aName’s pathExtension()
  
if (theExtension as string) is not equal to "" then
    set thePathNoExt to aName’s stringByDeletingPathExtension()
    
set newName to (thePathNoExt’s stringByAppendingString:newExt)
  else
    set newName to (aName’s stringByAppendingString:newExt)
  end if
  
  return newName as string
end repFileNameExtension

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Homeフォルダへのパスを求める1

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:Homeフォルダへのパスを求める1
— Created 2016-02-19 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aDesktopPath to (current application’s NSProcessInfo’s processInfo()’s environment()’s objectForKey:"HOME") as string
–>  "/Users/me"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Homeフォルダへのパスを求める2

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:Homeフォルダへのパスを求める2
— Created 2016-02-19 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set homeDir to (current application’s NSHomeDirectory()) as string
–>  "/Users/me"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

path toの高度な機能(アプリケーションへのパス)

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:path toの高度な機能(アプリケーションへのパス)
–現在最前面になっているアプリケーション
set bPath to path to frontmost application
–> alias "Macintosh HD:Applications:Utilities:Script Editor.app:"

–現在対象になっているアプリケーション
set aPath to path to current application
–> alias "Macintosh HD:Applications:Utilities:Script Editor.app:"

–アプリケーション名で指定
set cPath to path to application "Calendar"
–> alias "Macintosh HD:Applications:Calendar.app:"

–バンドルIDで指定
set dPath to path to application id "com.apple.ichat"
–> alias "Macintosh HD:Applications:Messages.app:"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

path toでシステムのさまざまなパスを求める(4文字指定)

Posted on 2月 19, 2018 by Takaaki Naganoya

path toでさまざまなフォルダへのパスを求めるAppleScriptの4文字パラメータで指定するバージョンです。

過去の(Classic MacOS時代の)Scriptとの互換性を維持するために残されている機能のようですが、さすがにファイルクリエータ的なパラメータは今日では好きこのんで使うものでもないので、不思議なpath toの記述を見かけたときに参照する程度でしょうか。

AppleScript名:path toでシステムのさまざまなパスを求める(4文字指定)
set r001 to path to "macs"
–> alias "Macintosh HD:System:"

set r002 to path to "desk"
–> alias "Macintosh HD:Users:me:Desktop:"

–set r003 to path to "sdsk"
–> alias "Macintosh HD:Users:me:Desktop Folder:"

set r004 to path to "trsh"
–> alias "Macintosh HD:Users:me:.Trash:"

set r005 to path to "empt"
–> alias "Macintosh HD:Users:me:.Trash:"

set r006 to path to "font"
–> alias "Macintosh HD:System:Library:Fonts:"

set r007 to path to "pref"
–> alias "Macintosh HD:Users:me:Library:Preferences:"

set r008 to path to "sprf"
–> alias "Macintosh HD:System:Library:PreferencePanes:"

set r009 to path to "temp"
–> alias "Macintosh HD:private:var:folders:h4:jfhlwst88xl9z0001s7k9vk00000gr:T:TemporaryItems:"

set r010 to path to "apps"
–> alias "Macintosh HD:Applications:"

set r011 to path to "docs"
–> alias "Macintosh HD:Users:me:Documents:"

set r012 to path to "root"
–> alias "Macintosh HD:System:"

set r013 to path to "flnt"
–> alias "Macintosh HD:private:var:folders:h4:jfhlwst88xl9z0001s7k9vk00000gr:T:Cleanup At Startup:"

set r014 to path to "asup"
–> alias "Macintosh HD:Library:Application Support:"

set r015 to path to "トhlp"
–> alias "Macintosh HD:Library:Documentation:Help:"

–set r016 to path to "トmod"
–> alias "Macintosh HD:System:Library:Modem Scripts:"

–set r017 to path to "ppdf"
–> alias "Macintosh HD:System:Library:Printers:PPDs:"

set r018 to path to "トscr"
–> alias "Macintosh HD:System:Library:ScriptingAdditions:"

–set r019 to path to "トlib"
–> alias "Macintosh HD:System:Library:CFMSupport:"

set r020 to path to "fvoc"
–> alias "Macintosh HD:System:Library:Speech:Voices:"

set r021 to path to "utiト"
–> alias "Macintosh HD:Applications:Utilities:"

set r022 to path to "aexト"
–> alias "Macintosh HD:Applications:Extras:"

set r023 to path to "cmnu"
–> alias "Macintosh HD:Library:Contextual Menu Items:"

set r024 to path to "prof"
–> alias "Macintosh HD:System:Library:ColorSync:Profiles:"

set r025 to path to "favs"
–> alias "Macintosh HD:Users:me:Library:Favorites:"

set r026 to path to "dtpト"
–> alias "Macintosh HD:Library:Desktop Pictures:"

set r027 to path to "issf"
–> alias "Macintosh HD:Users:me:Library:Internet Search Sites:"

–set r028 to path to "fnds"
–> alias "Macintosh HD:System:Library:Find:"

set r029 to path to "ilgf"
–> alias "Macintosh HD:Library:Receipts:"

set r030 to path to "scrト"
–> alias "Macintosh HD:Users:maro:Library:Scripts:"

set r031 to path to "fasf"
–> alias "Macintosh HD:Users:me:Library:Scripts:Folder Action Scripts:"

set r032 to path to "rapp"
–> alias "Macintosh HD:Users:me:Library:Recent Applications:"

set r033 to path to "rdoc"
–> alias "Macintosh HD:Users:me:Library:Recent Documents:"

set r034 to path to "rsvr"
–> alias "Macintosh HD:Users:me:Library:Recent Servers:"

set r035 to path to "kchn"
–> alias "Macintosh HD:Users:me:Library:Keychains:"

set r036 to path to "qtex"
–> alias "Macintosh HD:System:Library:QuickTime:"

set r037 to path to "usrs"
–> alias "Macintosh HD:Users:"

set r038 to path to "cusr"
–> alias "Macintosh HD:Users:me:"

set r039 to path to "sdat"
–> alias "Macintosh HD:Users:Shared:"

set r040 to path to "rotf"
–> alias "Macintosh HD:System:"

set r041 to path to "csrv"
–> alias "Cherry:System:Library:CoreServices:"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

path toの高度な機能(さまざまなフォルダへのパスを求める)

Posted on 2月 19, 2018 by Takaaki Naganoya

AppleScript名:path toの高度な機能(さまざまなフォルダへのパスを求める)
set aPath to path to system folder
–> alias "Cherry:System:"

set aPath to path to system preferences
–> alias "Cherry:System:Library:PreferencePanes:"

set aPath to path to application support from user domain with folder creation
–> alias "Macintosh HD:Users:maro:Library:Application Support:"

set aPath to path to applications folder
–> alias "Macintosh HD:Applications:"

set aPath to path to desktop from user domain
–> alias "Macintosh HD:Users:maro:Desktop:"

set aPath to path to desktop pictures folder from user domain with folder creation
–> alias "Macintosh HD:Users:maro:Library:Desktop Pictures:"

set aPath to path to documents folder from user domain with folder creation
–> alias "Macintosh HD:Users:maro:Documents:"

set aPath to path to downloads folder from user domain with folder creation
–> alias "Macintosh HD:Users:maro:Downloads:"

set aPath to path to favorites folder from user domain with folder creation
–> alias "Macintosh HD:Users:maro:Library:Favorites:"

set aPath to path to Folder Action scripts folder from user domain
–> alias "Macintosh HD:Users:maro:Library:Scripts:Folder Action Scripts:"

set aPath to path to fonts folder from user domain with folder creation
–> alias "Macintosh HD:Users:maro:Library:Fonts:"

set aPath to path to help folder from user domain with folder creation
–> alias "Macintosh HD:Users:maro:Library:Documentation:Help:"

set aPath to path to home folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:"

set aPath to path to internet plugins folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:Internet Plug-Ins:"

set aPath to path to keychain folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:Keychains:"

set aPath to path to library folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:"

–set aPath to path to modem scripts from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:Modem Scripts:"

set aPath to path to movies folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Movies:"

set aPath to path to music folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Music:"

set aPath to path to pictures folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Pictures:"

set aPath to path to preferences from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:Preferences:"

set aPath to path to printer descriptions from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:Printers:PPDs:"

set aPath to path to public folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Public:"

set aPath to path to scripting additions folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:ScriptingAdditions:"

set aPath to path to scripts folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:Scripts:"

set aPath to path to services folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Library:Services:"

set aPath to path to shared documents from user domain with folder creation
–> alias "Cherry:Users:Shared:"

–set aPath to path to shared libraries from user domain with folder creation
set aPath to path to sites folder from user domain with folder creation
–> alias "Macintosh HD:Users:me:Sites:"

set aPath to path to startup disk
–> alias "Cherry:"

set aPath to path to startup items
–> alias "Macintosh HD:Library:StartupItems:"

set aPath to path to temporary items
–> alias "Cherry:private:var:folders:h4:jfhlwst88xl9z0001s7k9vk00000gr:T:TemporaryItems:"

set aPath to path to trash
–> alias "Macintosh HD:Users:me:.Trash:"

set aPath to path to users folder
–> alias "Cherry:Users:"

set aPath to path to workflows folder
–> alias "Macintosh HD:Users:me:Library:Workflows:"

set aPath to path to voices
–> alias "Cherry:System:Library:Speech:Voices:"

–set aPath to path to apple menu
–set aPath to path to ‌control panels
–set aPath to path to control strip modules
–set aPath to path to extensions
–set aPath to path to launcher items folder
–set aPath to path to printer drivers
–set aPath to path to printmonitor
–set aPath to path to shutdown folder
–set aPath to path to speakable items
–set aPath to path to stationery

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

選択したファイルのローカライズ名を取得する v2

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:選択したファイルのローカライズ名を取得する v2
— Created 2014-12-14 by Takaaki Naganoya
— 2014 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

property |NSURL| : a reference to current application’s |NSURL|
property NSURLLocalizedNameKey : a reference to current application’s NSURLLocalizedNameKey

set a to choose folder
–> alias "Macintosh HD:Users:me:Music:"

set b to getLocalizedNameFor(a)
–> {true, "ミュージック"}

on getLocalizedNameFor(aPath)
  set anNSURL to |NSURL|’s fileURLWithPath:(POSIX path of aPath)
  
set {theResult, theValue} to anNSURL’s getResourceValue:(reference) forKey:(NSURLLocalizedNameKey) |error|:(missing value)
  
return {theResult, theValue as string} as list
end getLocalizedNameFor

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

選択したファイルパスに枝番を追加する

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:選択したファイルパスに枝番を追加する
— Created 2014-12-27 by Takaaki Naganoya
— 2014 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aPOSIXpath to POSIX path of (choose file of type {"com.adobe.pdf"} with prompt "PDFを指定してください")
set bPath to addStringbeforeExtension(aPOSIXpath, "_1")
–> "/Users/me/Desktop/ryuoh01_1.pdf"

on addStringbeforeExtension(aPath, extraString)
  set pathString to current application’s NSString’s stringWithString:aPath
  
set theExtension to pathString’s pathExtension()
  
set thePathNoExt to pathString’s stringByDeletingPathExtension()
  
set newPath to (thePathNoExt’s stringByAppendingString:extraString)’s stringByAppendingPathExtension:theExtension
  
return newPath as string
end addStringbeforeExtension

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

OLD StyleASでチルダ入りパス展開

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:OLD Style ASでチルダ入りパス展開
— Created 2016-05-13 by Christopher Stone

set aPath to "~/Desktop"
set aRes to expandTildeInPath(aPath) of me
–>  "/Users/me/Desktop"

on expandTildeInPath(thePath)
  tell application "System Events"
    return (POSIX path of (disk item thePath))
  end tell
end expandTildeInPath

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

チルダ入りパス展開

Posted on 2月 19, 2018 by Takaaki Naganoya

チルダ入りのPOSIX pathをCocoaの機能を用いてフルパスに展開するAppleScriptです。

AppleScript名:チルダ入りパス展開
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set bPath to "~/Desktop"
set pathString to current application’s NSString’s stringWithString:bPath
set newPath to pathString’s stringByExpandingTildeInPath() as string
–>  "/Users/me/Desktop"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy 10.14savvy | Leave a comment

フルパスからファイル名を取得する

Posted on 2月 19, 2018 by Takaaki Naganoya

フルパスからファイル名を取得するAppleScriptです。

AppleScriptでは、ファイルパス形式をいくつか併用しています。HFS形式、URL形式、POSIX形式などです。


▲2019/7/20変更。POSIX pathからaliasに直接変換できるような誤解を招く表現があったので、いったんPOSIX file(=file)を経由しないとaliasに変換できないことを表現


▲2022/6/3変更。NSURL(file://)から直接「as alias」で変換できることが判明。この変換を追記

ここではPOSIX形式のパスからファイル名を、Cocoaの機能を用いて求めるScriptを掲載しています。

AppleScript名:フルパスからファイル名を取得する
— Created 2017-02-04 10:38:44 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aPath to "/Users/me/Documents/ぴよまるソフトウェア/–Book1「AppleScript最新リファレンス」/9999_images/E81F91B7-4931-463F-A027-21A18A853290.jpg"

set aStr to (current application’s NSString’s stringWithString:aPath)’s lastPathComponent() as string
–>  "E81F91B7-4931-463F-A027-21A18A853290.jpg"

★Click Here to Open This Script 

古典的なAppleScriptのやり方だと、aliasからアプリケーションの機能を用いてファイル名を取得することになります。

AppleScript名:aliasからファイル名を取得(Finder)
set aFile to choose file

tell application "Finder"
  set aName to name of aFile
end tell

★Click Here to Open This Script 

AppleScript名:aliasからファイル名を取得(System Events)
set aFile to choose file

tell application "System Events"
  set aName to name of aFile
end tell

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy Finder System Events | Leave a comment

フルパスからファイル名を取得して拡張子を削除する

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:フルパスからファイル名を取得して拡張子を削除する
— Created 2017-02-04 10:38:44 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aPath to "/Users/me/Documents/ぴよまるソフトウェア/–Book1「AppleScript最新リファレンス」/9999_images/E81F91B7-4931-463F-A027-21A18A853290.jpg"

set aStr to (current application’s NSString’s stringWithString:aPath)’s lastPathComponent()’s stringByDeletingPathExtension() as string
–>  "E81F91B7-4931-463F-A027-21A18A853290.jpg"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

ファイルパスの変換(Alias→POSIX path→NSURL→POSIX path→file→Alias)

Posted on 2月 19, 2018 by Takaaki Naganoya

AppleScriptで使用するファイルパスには、alias(hfs形式)、file(hfs形式)、POSIX path形式(shell commandとのやりとりに使う)、URL形式(ほとんど使わないがごくまれに)などがありますが、macOS 10.10以降はCocoaのオブジェクトを扱えるようになったので、Cocoaオブジェクトとの間でも変換する必要が出てきました。

CocoaもPath形式にPOSIX path(NSString)、URL(NSURL)という複数のパス表現形式があり、AppleScript側のファイルパス情報と相互変換する必要があります。相互変換が一発でできれば楽ですが、たとえばaliasならalias→POSIX path→CocoaのNSStringのpathと2段階で変換する必要があります。

難しいかといわれれば、別に慣れればそんなもんでしょう。技術的な難易度はそれほど高くありません。こうした全体像を知っているかどうか、ということがキーです。

AppleScript名:ファイルパスの変換(Alias→POSIX path→NSURL→POSIX path→file→Alias)
— Created 2016-02-19 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–Get Alias (AppleScript native file path format)
set anAlias to choose file
–>  alias "Macintosh HD:Users:me:Documents:……"

–Get POSIX path from Alias
set aPOSIX to POSIX path of anAlias
–>  "/Users/me/Documents/……"

–Get NSURL from POSIX path
set aURL to current application’s |NSURL|’s fileURLWithPath:aPOSIX
–>  (NSURL) file:///Users/me/Documents/………%83%88%EF%BC%92.scptd/

–Get NSURL string
set bPath to aURL’s absoluteString()
–>  (NSString) "file:///Users/me/Documents/A….9C%EF%BC%89.scptd/"

–Get file path (POSIX path) NSString
set cPath to aURL’s |path|()
–>  (NSString) "/Users/me/Documents/……scptd"

–Get POSIX file path string from NSString
set dPath to cPath as string
–>  "/Users/me/Documents/……..scptd"

–Get file from POSIX path
set aFile to POSIX file dPath
–>  file "Macintosh HD:Users:me:Documents:….scptd"

–Get Alias from file
set bAlias to aFile as alias
–>  alias "Macintosh HD:Users:me:Documents:….scptd"

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy NSString NSURL | Leave a comment

POSIX –> URL –> POSIX

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:POSIX –> URL –> POSIX
— Created 2017-03-02 23:41:25 +0900 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aPOSIX to POSIX path of (choose file) –POSIX
set aURL to current application’s |NSURL|’s fileURLWithPath:aPOSIX –URL
set bPath to aURL’s |path|() as string –POSIX

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

file URL String to alias

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:file URL String to alias
— Created 2017-09-18 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

property |NSURL| : a reference to current application’s |NSURL|

set aFile to choose file
set aPOSIX to POSIX path of aFile

set aFileURL to (|NSURL|’s fileURLWithPath:aPOSIX)’s absoluteString() as string –Target (file URL string)
–>  "file:///Users/maro/Documents/….

set aPath to ((|NSURL|’s URLWithString:aFileURL)’s |path|()) as string
set bPath to (POSIX file aPath) as alias
–> alias "Cherry:Users:maro:Documents/…

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

相対パスから絶対パスを計算してを求める v2

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:相対パスから絶対パスを計算してを求める v2
— Created 2017-11-11 by Takaaki Naganoya
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set absolutePath to "/Users/me/Documents/–Book 1「AppleScript最新リファレンス」/5000 iOSデバイスとの連携/5100 iOSデバイスからMacに画面を出力するAirServer.md"
set relativePath to "../9999_images/img-1.jpg"

set relativePath to calcAbsolutePath(absolutePath, relativePath) of me
–>  "/Users/me/Documents/–Book 1「AppleScript最新リファレンス」/9999_images/img-1.jpg"

on calcAbsolutePath(aAbsolutePOSIXfile, bRelativePOSIXfile)
  set aStr to current application’s NSString’s stringWithString:aAbsolutePOSIXfile
  
set bStr to current application’s NSString’s stringWithString:bRelativePOSIXfile
  
  
set aList to aStr’s pathComponents() as list
  
set bList to bStr’s pathComponents() as list
  
  
set aLen to length of aList
  
  
set aCount to 1
  
repeat with i in bList
    set j to contents of i
    
if j is not equal to ".." then
      exit repeat
    end if
    
set aCount to aCount + 1
  end repeat
  
  
set tmp1List to items 1 thru (aLen – aCount) of aList
  
set tmp2List to items aCount thru -1 of bList
  
  
set allRes to current application’s NSString’s pathWithComponents:(tmp1List & tmp2List)
  
  
return allRes as text
end calcAbsolutePath

★Click Here to Open This Script 

Posted in File path | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

2つのパスの相対パスを求める v3

Posted on 2月 19, 2018 by Takaaki Naganoya
AppleScript名:2つのパスの相対パスを求める v3
— Created 2017-01-28 by Takaaki Naganoya
— Modified 2017-01-30 by Shane Stanley
— Modified 2017-02-03 by Takaaki Naganoya
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–Markdown書類(フルパス)
set aFile to "/Users/me/Documents/ぴよまるソフトウェア/書籍原稿/–Book 1a「AppleScript最新リファレンス バージョン2.7対応」/5000 iOSデバイスとの連携/5100 iOSデバイスからMacに画面を出力するAirServer.md"

–リンク画像(フルパス)
set bFile to "/Users/me/Documents/ぴよまるソフトウェア/書籍原稿/–Book 1a「AppleScript最新リファレンス バージョン2.7対応」/9999_images/img-1.php.jpeg"

set relativePath to calcRelativePath(aFile, bFile) of me
–>  "../9999_images/img-1.php.jpeg"

on calcRelativePath(aPOSIXfile, bPOSIXfile)
  set aStr to current application’s NSString’s stringWithString:aPOSIXfile
  
set bStr to current application’s NSString’s stringWithString:bPOSIXfile
  
  
set aList to aStr’s pathComponents() as list
  
set bList to bStr’s pathComponents() as list
  
  
set aLen to length of aList
  
set bLen to length of bList
  
  
if aLen ≥ bLen then
    copy aLen to aMax
  else
    copy bLen to aMax
  end if
  
  
repeat with i from 1 to aMax
    set aTmp to contents of item i of aList
    
set bTmp to contents of item i of bList
    
    
if aTmp is not equal to bTmp then
      exit repeat
    end if
  end repeat
  
  
set bbList to items i thru -1 of bList
  
set aaItem to (length of aList) – i
  
  
set tmpStr to {}
  
repeat with ii from 1 to aaItem
    set the end of tmpStr to ".."
  end repeat
  
  
set allRes to current application’s NSString’s pathWithComponents:(tmpStr & bbList)
  
return allRes as text
end calcRelativePath

★Click Here to Open This Script 

Posted in File path 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Bluetoothに接続中のデバイス名を取得するv4

Posted on 2月 18, 2018 by Takaaki Naganoya
AppleScript名:Bluetoothに接続中のデバイス名を取得するv4
— Created 2017-07-24 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "IOBluetooth"

set pRes to getBluetoothPowerState() of me
if pRes = false then return

set dArray to current application’s IOBluetoothDevice’s pairedDevices()
set aRes to my filterRecListByLabel1(dArray, "mIONotification != 0")
set dNames to (aRes’s mName) as list
–>  {​​​​​"Piyomaru AirPods", ​​​​​"Takaaki Naganoya のマウス"​​​}

–リストに入れたレコードを、指定の属性ラベルの値で抽出
on filterRecListByLabel1(aRecList, aPredicate as string)
  set aArray to current application’s NSArray’s arrayWithArray:aRecList
  
set aPredicate to current application’s NSPredicate’s predicateWithFormat:aPredicate
  
set filteredArray to aArray’s filteredArrayUsingPredicate:aPredicate
  
return filteredArray
end filterRecListByLabel1

–Mac本体のBluetoothのパワー状態を取得
on getBluetoothPowerState()
  set aCon to current application’s IOBluetoothHostController’s alloc()’s init()
  
set pRes to (aCon’s powerState()) as boolean
end getBluetoothPowerState

★Click Here to Open This Script 

Posted in Bluetooth System | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Bluetoothのオン、オフ状態を取得する

Posted on 2月 18, 2018 by Takaaki Naganoya
AppleScript名:Bluetoothのオン、オフ状態を取得する
— Created 2017-07-25 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "IOBluetooth"

set pRes to getBluetoothPowerState() of me

on getBluetoothPowerState()
  set aCon to current application’s IOBluetoothHostController’s alloc()’s init()
  
set pRes to (aCon’s powerState()) as boolean
end getBluetoothPowerState

★Click Here to Open This Script 

Posted in Bluetooth System | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Post navigation

  • Older posts
  • Newer posts

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 15, Sequoia
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Numbersで選択範囲のセルの前後の空白を削除
  • メキシカンハットの描画
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AppleScriptによる並列処理
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • macOS 15でも変化したText to Speech環境
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • デフォルトインストールされたフォント名を取得するAppleScript
  • macOS 15 リモートApple Eventsにバグ?
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • AppleScript入門① AppleScriptってなんだろう?
  • Script Debuggerの開発と販売が2025年に終了
  • macOS 14で変更になったOSバージョン取得APIの返り値
  • NSObjectのクラス名を取得 v2.1
  • 有害ではなくなっていたSpaces
  • macOS 15:スクリプトエディタのAppleScript用語辞書を確認できない
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (194) 14.0savvy (147) 15.0savvy (135) CotEditor (66) Finder (51) iTunes (19) Keynote (119) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (55) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC