Получить информацию о жестком диске с помощью Perl - PullRequest
5 голосов
/ 19 августа 2010

Я хочу использовать perl для проверки места на жестком диске в Windows , есть ли способ сделать это?

С наилучшими пожеланиями,

Ответы [ 4 ]

8 голосов
/ 19 августа 2010

В большинстве случаев портативные решения, такие как Filesys::DfPortable, являются лучшим выбором. Признайте возможность быть виртуозно ленивым .

6 голосов
/ 19 августа 2010

см. Win32 :: DriveInfo

($SectorsPerCluster, $BytesPerSector, $NumberOfFreeClusters, 
$TotalNumberOfClusters, $FreeBytesAvailableToCaller, $TotalNumberOfBytes, $TotalNumberOfFreeBytes) =  Win32::DriveInfo::DriveSpace( drive );

   $SectorsPerCluster          - number of sectors per cluster.
   $BytesPerSector             - number of bytes per sector.
   $NumberOfFreeClusters       - total number of free clusters on the disk.
   $TotalNumberOfClusters      - total number of clusters on the disk.
   $FreeBytesAvailableToCaller - total number of free bytes on the disk that
                                 are available to the user associated with the
                                 calling thread, b.
   $TotalNumberOfBytes         - total number of bytes on the disk, b.
   $TotalNumberOfFreeBytes     - total number of free bytes on the disk, b.
1 голос
/ 19 августа 2010

Win32 Drive Info должно сработать.
Я думаю, вы ищете

$ TotalNumberOfFreeBytes

0 голосов
/ 20 августа 2010

Другой способ запроса состояния системы - запросить Интерфейс управления Windows , используя DBD :: WMI .

Следующий запрос должен дать вам основную информациюо дисковом пространстве:

Select DeviceID,Size,FreeSpace from Win32_LogicalDisk
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...