原帖由 freeand 于 2007-11-1 13:13 发表
在windows下挂了一个硬盘,但这个硬盘里的分区(如我们平时说C盘D盘等)没有给它分配盘符,
但已知其格式(ntfs或fat),如何用perl去读写里面的文件?
谢谢。
PS:我在cpan里搜Drive但没找到想要的。
use Win32::OLE qw(in); use constant vbTab => "\x09"; $strComputer = '.'; # ------ END CONFIGURATION --------- print "Physical Disks:\n"; $objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2'); $colDisks = $objWMI->ExecQuery('select * from Win32_DiskDrive'); foreach my $objDisk (in $colDisks) { print ' Caption: ' . vbTab . $objDisk->Caption, "\n"; print ' Device ID: ' . vbTab . $objDisk->DeviceID, "\n"; print ' Manufacturer: ' . vbTab . $objDisk->Manufacturer, "\n"; print ' Media Type: ' . vbTab . $objDisk->MediaType, "\n"; print ' Model: ' . vbTab . $objDisk->Model, "\n"; print ' Name: ' . vbTab . $objDisk->Name, "\n"; print ' Partitions: ' . vbTab . $objDisk->Partitions, "\n"; print ' Size: ' . vbTab . $objDisk->Size, "\n"; print ' Status: ' . vbTab . $objDisk->Status, "\n"; print "\n"; } print "\n"; print "Logical Disks:\n"; $colDisks = $objWMI->ExecQuery('select * from Win32_LogicalDisk'); foreach my $objDisk (in $colDisks) { print ' DeviceID: ' . $objDisk->DeviceID, "\n"; print ' Description: ' . $objDisk->Description, "\n"; print ' VolumeName: ' . $objDisk->VolumeName, "\n"; print ' DriveType: ' . $objDisk->DriveType, "\n"; print ' FileSystem: ' . $objDisk->FileSystem, "\n"; print ' FreeSpace: ' . $objDisk->FreeSpace, "\n"; print ' MediaType: ' . $objDisk->MediaType, "\n"; print ' Name: ' . $objDisk->Name, "\n"; print ' Size: ' . $objDisk->Size, "\n"; print "\n"; } |
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |