# Dla podanego woluminu kod prbuje uruchomi narzdzie chkdsk.

use Win32::OLE;
$Win32::OLE::Warn = 3;

# ------ KONFIGURACJA SKRYPTU ------
$strComputer = '.';
$strDrive = '<Napd>'; # np. D:
$boolFixErrors = 1; # True = chkdsk /f, False = chkdsk
# ------ KONIEC KONFIGURACJI ---------
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2');
$objDisk = $objWMI->Get('Win32_LogicalDisk.DeviceID=\'' . $strDrive . '\'');
$intRC = $objDisk->ChkDsk($boolFixErrors);
if ($intRC == 0) {
    print "Dziaanie narzdzia chkdsk zostao zakoczone powodzeniem.\n";
}
elsif ($intRC == 1) {
    print "Uruchomienie narzdzia chkdsk zaplanowano podczas kolejnego adowania systemu.\n";
}
else {
    print 'Podczas pracy narzdzia chkdsk wystpi bd: ' . $intRC, "\n";
}
