Przejdź do głównej zawartości

compact

Komenda compact służy do zarządzania kompresją plików i katalogów na woluminach sformatowanych w NTFS. Pozwala na włączanie lub wyłączanie kompresji, wyświetlanie aktualnego stanu kompresji oraz stosowanie operacji rekursywnie w podkatalogach. Dzięki niej można zredukować zużycie przestrzeni dyskowej kosztem niewielkiego obciążenia procesora.

Okno terminala
compact [<ścieżka>\[nazwa] ...] [/c | /u] [/s[:<katalog>]] [/a] [/i] [/f] [/q]
  • <ścieżka>\[nazwa] – jeden lub więcej plików bądź wzorców (np. *.txt) do przetworzenia.
  • /c – włącza kompresję wskazanych plików lub katalogów.
  • /u – wyłącza kompresję, przywracając pliki do postaci nieskompresowanej.
  • /s[:<katalog>] – przetwarza katalog i wszystkie podkatalogi; jeżeli nie podano ścieżki, używa bieżącego katalogu.
  • /a – uwzględnia pliki ukryte i systemowe.
  • /i – pomija błędy podczas przetwarzania kolejnych plików (przydatne przy dużych zbiorach).
  • /f – wymusza kompresję wszystkich plików, nawet jeśli były już wcześniej kompresowane lub dekompresowane.
  • /q – tryb cichy, wyświetla jedynie podsumowanie operacji.
ParametrOpis
<ścieżka>\[nazwa]Lista plików, katalogów lub wzorców do przetworzenia.
/cWłącza kompresję danych za pomocą wbudowanego algorytmu NTFS.
/uWyłącza kompresję, przywracając oryginalną postać plików.
/s[:<katalog>]Rekurencyjnie przetwarza wszystkie pliki w katalogu i podkatalogach.
/aUwzględnia pliki ukryte (hidden) i systemowe (system).
/iKontynuuje operacje mimo napotkania błędów (np. brak uprawnień).
/fKompresuje nawet pliki, które nie wymagają zmiany (już skompresowane lub wyłączone).
/qWycisza szczegółowe komunikaty, prezentuje jedynie wynik końcowy.
  1. Wyświetlenie stanu kompresji

    Okno terminala
    compact C:\Dane\raport.txt

    Pokazuje, czy raport.txt jest skompresowany i jaki zajmuje rozmiar fizyczny.

  2. Kompresja pliku

    Okno terminala
    compact /c C:\Logi\dzien1.log

    Włącza kompresję dla pliku dzien1.log, zmniejszając jego rozmiar na dysku.

  3. Rekurencyjna kompresja katalogu

    Okno terminala
    compact /c /s:C:\Projekty

    Kompresuje wszystkie pliki w C:\Projekty oraz podkatalogach.

  4. Dezaktywacja kompresji

    Okno terminala
    compact /u C:\Backup\*.zip

    Przywraca oryginalny stan plików *.zip w katalogu Backup.

  5. Wymuszenie kompresji całego dysku

    Okno terminala
    compact /c /s:C:\ /a /f /q

    Kompresuje wszystkie pliki na dysku C:, uwzględnia ukryte i systemowe, pomijając błędy, bez szczegółowych komunikatów.

  • compact.exe jest narzędziem zewnętrznym w %SystemRoot%\System32 i działa tylko na woluminach NTFS. Na systemach FAT/FAT32 nie ma efektu.
  • Kompresja NTFS odbywa się w blokach klastra (domyślnie 4 KiB), przez co ma sens przy większych plikach tekstowych i zasobach, natomiast pliki już skompresowane (np. multimedia) mogą nawet zwiększyć rozmiar fizyczny.
  • Operacje kompresji i dekompresji obciążają dysk i procesor; przy dużych zbiorach warto planować je w godzinach o niższej aktywności systemu.
  • Aby wyłączyć domyślną kompresję katalogu, należy użyć atrybutu w Eksploratorze lub attrib; compact nie zmienia flagi kompresji katalogu, a jedynie zawartość.
  • Program można użyć w skryptach wsadowych; aby uniknąć interakcji, stosuj /q i przekierowanie błędów.
Błąd / KomunikatPrzyczynaRozwiązanie
Compression is not availableWolumin nie jest NTFS lub brak uprawnień.Upewnij się, że dysk jest NTFS i uruchom CMD jako administrator.
Access is deniedBrak praw zapisu lub odczytu w pliku/katalogu.Sprawdź uprawnienia NTFS, uruchom wiersz jako admin.
Invalid switchLiterówka lub nieobsługiwany przełącznik.Sprawdź składnię za pomocą compact /?.
The system cannot find the path specifiedNieprawidłowa ścieżka lub wzorzec plików.Zweryfikuj ścieżkę/maskę i obecność plików; użyj cudzysłowów przy spacji.
No files found to processBrak plików spełniających kryteria w zadanym katalogu.Upewnij się, że pliki pasują do wzorca lub użyj innej ścieżki.