Bennco99 has asked for the wisdom of the Perl Monks concerning the following question:
When I run it it get properties for all attached drives & network mapped drives.#!perl use Win32::OLE('in'); use constant wbemFlagReturnImmediately => 0x10; use constant wbemFlagForwardOnly => 0x20; $computer = <STDIN>; $objWMIService = Win32::OLE->GetObject ("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection fai +led.\n"; $colItems = $objWMIService->ExecQuery ("SELECT * FROM Win32_LogicalDisk","WQL",wbemFlagReturnImmediately + | wbemFlagForwardOnly); foreach my $objItem (in $colItems) { print "Description: $objItem->{Description}\n"; print "Device ID: $objItem->{DeviceID}\n"; print "File System: $objItem->{FileSystem}\n"; print "Free Space: $objItem->{FreeSpace}\n"; print "Name: $objItem->{Name}\n"; print "Size: $objItem->{Size}\n"; print "System Name: $objItem->{SystemName}\n"; print "Volume Serial Number: $objItem->{VolumeSerialNumber}\n"; print "\n"; }
I only want to print if the "Description: $objItem->{Description}" equals the "Logical Fixed Drive"Description: 3 1/2 Inch Floppy Drive Device ID: A: File System: Free Space: Name: A: Size: System Name: Computer1 Volume Serial Number: Description: Local Fixed Disk Device ID: C: File System: NTFS Free Space: 60143833088 Name: C: Size: 80023715840 System Name: Computer1 Volume Serial Number: 3C009544 Description: CD-ROM Disc Device ID: D: File System: CDFS Free Space: 0 Name: D: Size: 732608512 System Name: Computer1 Volume Serial Number: 3467A882 Description: Network Connection Device ID: F: File System: NTFS Free Space: 1024006098944 Name: F: Size: 1610608492544 System Name: Computer1 Volume Serial Number: D4855886
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Print list value from foreach loop
by GrandFather (Saint) on Aug 09, 2006 at 22:20 UTC | |
by Bennco99 (Acolyte) on Aug 09, 2006 at 22:32 UTC |