Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

List of Mounted Drives on Win32

by Anonymous Monk
on Dec 27, 2000 at 09:28 UTC ( #48386=perlquestion: print w/replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

How do I get the list of mounted drives, and their labels, on a Win32 system?

Replies are listed 'Best First'.
(tye)Re: List of Mounted Drives on Win32
by tye (Sage) on Dec 27, 2000 at 10:34 UTC

    Recent versions of ActivePerl should include Win32API::File which knows how to find all mounted drives and can look up information about drives. It even comes with documentation.

    If you have problems with it, let us know. I can probably even whip up a 10-line script to do that for you tomorrow when I'm not rushing to bed. (:

    Well, my file copy is taking a while, so here goes:

    #!/usr/bin/perl -w use strict; use Win32API::File qw( getLogicalDrives GetVolumeInformation ); my @drives= getLogicalDrives(); foreach my $d ( @drives ) { my @x= (undef)x7; GetVolumeInformation( $d, @x ); print "$d $x[0] ($x[5])\n"; }
    Well, it isn't long on comments and I probably shouldn't recommend calling GetVolumeInformation() that way, but it mostly works for me.

            - tye (but my friends call me "Tye")
Re: List of Mounted Drives on Win32
by lolindrath (Scribe) on Dec 27, 2000 at 10:49 UTC
    Ok, I looked up some stuff and I found out that Win32::AdminMisc will do what you want if you have a WinNT system. Here's an example(Not tested).
    #!/usr/bin/perl -w use Win32::AdminMisc; my $drives = GetDrives( DRIVE_FIXED ); print $drives . "\n";

    The drive types are:
    DRIVE_FIXED - hard drive DRIVE_REMOVABLE - floppy DRIVE_REMOTE - network drive DRIVE_CDROM - cdrom DRIVE_RAMDISK - emulated drive in memory
    Some other functions that might help are:
    GetDriveType( DRIVE ) - returns the drives type GetDriveSpace ( DRIVE ) - returns the drives space GetVolumeInfo ( DRIVE ) - returns hash of drive info Element Desc ------------------ Volume Volume Label Serial Serial number of drive

    I tried this script after installing Win32::AdminMisc and it told me I needed WinNT. So I wrote this one.
    #!/usr/bin/perl -w for( my $i='a'; $i lt 'z'; $i++ ) { if ( -e "$i:/" ) { print "Drive $i exists\n"; } }

    This works under Win98 but it didn't pick up the A: drive because it didn't have any media in it. It also delayed while seeing if the A: drive had something in it. I also don't know how to find the volume label.
    I'm hoping you're on a WinNT system, then you're set.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://48386]
Approved by root
[Eily]: can't you just remote connect to the linux machine ?
[marto]: IIRC the hiemdal suite made life much easier on windows, and people on XDA developers put out released of windows only pages for adb that made it less of a pain
[marto]: Eily you can't remote connect the physical device via USB ;)
[Corion]: Eily: Sure, that's what I do, but some things you need to do on the Android device directly, like when navigating the bootloader :-)
[Eily]: marto you just need a longer cable :P
[Corion]: marto: Yeah, but I'm somewhat wary of installing random USB drivers downloaded from , Google Drive or whatever, so Linux wins there due to there being no conflicts and me just having to edit one text file in the worst case, to add the USB vendor
[hippo]: Long USB cable FTW.
[Corion]: Eily: I've thought of that, but I don't like running long cables through the appartment because sooner or later I'll trip over it, pulling at least one device off its stand :)
[marto]: hmm, may have to patch CPAN::Meta to move from search.cpan to metacpan in the META.json/yml files
[Corion]: marto: Heh - it seems that they plan to keep the links alive for a long time. But still, I plan on moving PM to use/generate the new links

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (10)
As of 2018-05-23 09:16 GMT
Find Nodes?
    Voting Booth?