Phil Davis wrote:
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

Very helpful Phil, and I appreciate your posting it, but unfortunately the issue I found with using system_profiler is that it doesn't report the volume name as it appears to the user on the desktop.

I had hoped there would be some reasonably simple way to get a list of mounted volumes that looks something like this:

<driveName>  <mountPoint>  <type>

...where <driveName> is the name as it appears in the Finder, <mountPoint> is either "/" or "Volumes/<drivename>", and <type> is either ATA, SCSI, CD/DVD, USB, etc.

With what I've learned in this thread it seems I may be able to use output from system_profiler checked against output from AppleScript calls to obtain such a list.

For the future, I see that Jeanne DeVoto had submitted an RQCC request for "the detailed volumes" which could do what I need if implemented as described there:
<http://quality.runrev.com/qacenter/show_bug.cgi?id=101>

In the meantime, it looks like I have some parsing to do and some homework to figure out the details of getting this info for Win Vista, Win 7, and Linux. I'll post the result here once I get it working.

--
 Richard Gaskin
 Fourth World
 Rev training and consulting: http://www.fourthworld.com
 Webzine for Rev developers: http://www.revjournal.com
 revJournal blog: http://revjournal.com/blog.irv
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to