2017-06-15 9 views
0

ボリュームをマウントしてすぐに特定のパスにFinderウィンドウを開きたいのですが、Apple ScriptからJXAへの変換に問題があります。Apple JXAでボリュームをマウントしてフォルダを開く方法

私はこのような何かのJXAに相当します:

tell application "Finder" 
    if not (disk "Airport Time Capsule" exists) then 
     mount volume "afp://AirPort%20Time%20Capsule._afpovertcp._tcp.local" 
    end if 
    open "/Volumes/Airport Time Capsule" 
end tell 

を私はいくつかのことを試してみたが、何も動作していないようにみえます。 JXAの完全なドキュメントは存在しません。

var finder = Application('Finder'); 
finder.mount('afp://.....'); // doesn't work 
finder.mount.volume('afp://.....'); // doesn't work 
finder.mountVolume('afp://.....'); // doesn't work 

答えて

2

次のコードはおおまかにAppleScriptをエミュレートする必要があります。これは、指定された名前(「AirMacのタイムカプセル」)と、ディスクがすでにマウントされている場合、チェック1であれば、このようなディスクを開くか、あるいは(standardAdditionsが必要です)openLocation機能を使用して、Time Capsuleに接続します。

var finder = Application('Finder') 
finder.includeStandardAdditions = true 
var disks = finder.disks.where({name: 'AirPort Time Capsule'}) 
if (disks.length > 0) { 
    finder.open(disk[0]) 
} else { 
    finder.openLocation('afp://[your-time-capsule].local') 
} 

私のノートパソコンで実際に「AirPort Time Capsule」を「MobileBackups」に変更しなければならなかったので、上記のコードが機能しない場合は試してみてください。

+0

完全に機能しました。ありがとうございました。私はAirPort Time Capsuleを例として使用していましたが、実際には開く必要のあるフォルダではありません。私はプライバシーのために投稿できない仕事のためのものでした。 – Francisc0

関連する問題