Le versioni moderne del filesystem NTFS, cioè a partire da NTFSv3 implementato introdotto da Microsoft con Windows2000, hanno una interessante funzionalità: la compressione on-the-fly dei dati.
NTFS ha la possibilità cioè di comprimere i file presenti su disco e decomprimerli “al volo”, ovviamente perdendo un po’ di performance in fase di decompressione, in caso l’utente ne abbia bisogno, cosa che permettere di recuperare un po’ di spazio disco quando sta per esaurirsi.
E’ possibile comprimere on-the-fly ogni tipo di file, eseguibili compresi (ma fortemente sconsigliato per problemi di performance), sebbene sia consigliabile attivare questa funzionalità solo su file di testo, file di log, documenti, etc. che sono generalmente adatti ad essere compressi fortemente per recuperare spazio disco: file audio (mp3, mp4) e film (avi, dvix, mp4, mov, mkv) invece sono difficilmente comprimibili in questo modo, e nella quasi totalità dei casi non vi sono benefici (anzi!).
Inoltre Microsoft consiglia di non attivare la compressione NTFS su file più grandi di 30MB, per non incorrere in problemi di performance.
La compressione sui file si può attivare via GUI (cliccare sulle “proprietà” del file, “avanzate”, “comprimi contenuto per risparmiare spazio su disco”) oppure da riga di comando con l’utility “compact”.
Esempi:
compact nome_file ci verranno restituite informazioni sullo state del file (compressione attiva o meno, dimensione file, spazio recuperato dalla compressione);
compact /C nome_file attiverà la compressione on-the-fly sul file in modo da recuperare spazio su disco;
compact /U nome_file invece disattiverà la compressione on-the-fly sul file e lo decomprimerà per riportarlo alle dimensioni originali;
Per comprimere tutti i file di log presenti in una directory e sottodirectory:
compact /S /C c:logs*.log