Here is an simplified 'system_profiler' output approach. It returns one
tab-delimited line of info per detachable USB storage device, with all
the data items known to system_profiler for each device. NOTE: It
expects system_profiler output to be in English.
function macUsbDrives
-- get USB device info from system profiler
put shell("system_profiler -detailLevel full SPUSBDataType") into tData
-- convert data to one line per USB device
replace (colon & cr & cr) with numToChar(245) in tData -- device name
replace (cr & cr) with numtoChar(250) in tData
replace cr with tab in tData
replace numtoChar(245) with (colon & tab) in tData
replace numtoChar(250) with cr in tData
-- remove records for all but USB drives (English data only)
filter tData with "*Detachable Drive: Yes*"
-- remove space-padding from items in each line
set the itemDel to tab
repeat for each line tLine in tData
repeat for each item tItem in tLine
put word 1 to -1 of tItem & tab after tNewData
end repeat
put cr into last char of tNewData
end repeat
delete last char of tNewData
-- return the data
return tNewData
end macUsbDrives
HTH -
Phil Davis
On 1/6/10 5:50 PM, Phil Davis wrote:
On 1/6/10 3:31 PM, Richard Gaskin wrote:
tsj wrote:
Richard - I haven't got an unnamed USB drive handy to test this with
but
what does the volumes function return when one is mounted? Does this
give
you the expected "untitled" (or "untitled 1" etc)?
If so, you could iterate through the listed volumes using a couple of
applescripts to determine whether the drive was local (false if it's a
network drive) ejectable (false if it's internal) and then if you
get two
false results you can attempt to open a file on the volume. If that
gives
you an error then the drive is write protected. If it passes all
tests then
you're left (presumably) with an external USB or Firewire drive.
The "passes all tests" list can also includes mounted .dmg files.
Thanks for posting this - very helpful.
--
Phil Davis
PDS Labs
Professional Software Development
http://pdslabs.net
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution