# Kod kompresuje katalog i jego zawarto  z wykorzystaniem kompresji systemu plikw NTFS

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

# ------ KONFIGURACJA SKRYPTU ------
$strComputer = '.';
$strFolder = '<ciekaKatalogu>';# np. d:\scripts
# ------ KONIEC KONFIGURACJI ---------
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2');
$objFolder = $objWMI->Get('Win32_Directory=\'' . $strFolder . '\'');
$intRC = $objFolder->Compress;
# Aby dokona dekompresji, trzeba zamieni na objFolder.Uncompress
if ($intRC != 0) {
    print 'Podczas kompresji katalogu wystpi bd: ' . $intRC, "\n";
}
else {
    print "Kompresja pliku zakoczya si powodzeniem.\n";
}
