Displaying the Free Space of Each Disk
Like other Mac users, I have a
bunch of different volumes, which the Finder treats as separate
disks, on my desktop. It is nice to be able to monitor how much space
each one of these disks has left, since each of them inevitably fills
up with files and new apps. The Finder provides some simple tools to
display this data to the user. These include the
disk
object, which has a free space
property. This property returns the amount of space
that is left on the disk as integer
bytes. So if
disk “MyDisk” only had 1024 bytes
left on it, then:
free space of disk "MyDisk"
would return 1024. You would have to enclose the latter code fragment
in a tell
statement that targets the Finder,
because the Finder application knows about disk
objects and free space
properties. This script,
which I call “GetFreeSpace,” gets a
list
of all the disks and stores the
list
in a dskList
variable.
Since the Finder application class has disk
elements, you can get a list
of all disks simply
by sending the disks command to the Finder. This
script gets each disk’s free
space
in megabytes with the following code phrase:
((d's free space) / 1024 / 1024)
It adds this information to a mesg
string
variable that is finally displayed to the
user when all of the free space and total space is computed. The
result is a dialog window that looks like Figure 14-4.
Get AppleScript in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.