Expand/Shrink

get_logical_drives

Definition: sequence res = get_logical_drives()
Description: Returns a list of {string drive, integer drivetype} pairs.
pwa/p2js: Not supported.
Comments: The following drivetypes are pre-defined in psym.e:

global constant
 DRIVE_UNKNOWN      = 0, -- The drive type cannot be determined.
 DRIVE_NO_ROOT_DIR  = 1, -- The root path is invalid; eg no volume mounted.
 DRIVE_REMOVABLE    = 2, -- removable media; eg a floppy, thumb, or flash card.
 DRIVE_FIXED        = 3, -- fixed media; eg a hard disk or flash drive.
 DRIVE_REMOTE       = 4, -- a remote (network) drive.
 DRIVE_CDROM        = 5, -- a CD-ROM drive.
 DRIVE_RAMDISK      = 6  -- a RAM disk.

On Windows, wraps the kernel32 function GetLogicalDriveStrings (rather than GetLogicalDrives which returns a bitmask) and GetDriveType.
On Linux, simply returns {{"/",DRIVE_FIXED}}.
Example:
?get_logical_drives()
-- prints eg {{`C:\`,3},{`D:\`,5},{`E:\`,3},{`F:\`,6},{`G:\`,2}} 
--    (where 3/5/3/6/2 are DRIVE_FIXED/CDROM/FIXED/RAMDISK/REMOVABLE)
Implementation: The implementation of this routine can be found in builtins\pfile.e (an autoinclude) - and is open to suggestions for enhancement.
See Also: dir