hibitekitou
メモ:AppleScript
mac |2007-06-19
ちょいと調べ物をしていて、知った事をメモ。
まずは起動ディスク以外をアンマウントする方法。アップルにまさにずばりな記事がありました。
これは、任意のディスクをアンマウントするってことには使えないので、それじゃ、認識されているボリュームのリストを得る方法はというと、ターミナルから
diskutil list
でいいらしい。
例えば、この結果、
diskutil unmount disk1s1
でHDD01を
diskutil unmount disk1s2
でHDD02をアンマウントできる、そうな。
もっとも、一番上のAppleScriptからのやり方に準じるなら
tell application "Finder" to eject disk "HDD01"
になります。で、起動ディスクをのぞいたマウントされているディスクのリストを得るなら、
こんなかんじかなぁ。問題は同じ名前のネットワーク上のボリュームをマウントしている時、その区別が出来なさそうってことなんだけどね…。んー、どうしよ。
まずは起動ディスク以外をアンマウントする方法。アップルにまさにずばりな記事がありました。
tell the application "Finder" to eject (every disk whose ejectable is true )
これは、任意のディスクをアンマウントするってことには使えないので、それじゃ、認識されているボリュームのリストを得る方法はというと、ターミナルから
diskutil list
でいいらしい。
例えば、この結果、
/dev/disk0 #: type name size identifier 0: Apple_partition_scheme *232.9 GB disk0 1: Apple_partition_map 31.5 KB disk0s1 2: Apple_HFS MacOSX 232.8 GB disk0s3 /dev/disk1 #: type name size identifier 0: FDisk_partition_scheme *372.6 GB disk1 1: Apple_HFS HDD01 250.0 GB disk1s1 2: Apple_HFS HDD02 122.6 GB disk1s2とか得られたとすると、
diskutil unmount disk1s1
でHDD01を
diskutil unmount disk1s2
でHDD02をアンマウントできる、そうな。
もっとも、一番上のAppleScriptからのやり方に準じるなら
tell application "Finder" to eject disk "HDD01"
になります。で、起動ディスクをのぞいたマウントされているディスクのリストを得るなら、
set mountedDisks to getMountedDisk() set mountDiskName to "" repeat with mountedDisk in mountedDisks set mountDiskName to mountDiskName & mountedDisk & "," end repeat display dialog mountDiskName on getMountedDisk() tell application "Finder" set diskList to every disk set extDiskList to {} set startupdiskname to name of startup disk repeat with diskItem in diskList if ((name of diskItem) ≠ "Network") and ((name of diskItem) ≠ "Servers") and ((name of diskItem) ≠ startupdiskname) then set extDiskList to extDiskList & name of diskItem end if end repeat end tell return extDiskList end getMountedDisk
こんなかんじかなぁ。問題は同じ名前のネットワーク上のボリュームをマウントしている時、その区別が出来なさそうってことなんだけどね…。んー、どうしよ。
コメント ( 0 )|Trackback ( )
コメント |
コメントはありません。 |
コメントを投稿する |
ブログ作成者から承認されるまでコメントは反映されません |