assoc

Wyświetla lub zmienia powiązania rozszerzeń plików z typami plików.

assoc to wbudowane polecenie wiersza poleceń Windows (cmd.exe), które pokazuje i zmienia powiązania rozszerzeń plików z tzw. typami plików (file types). Mówiąc po ludzku: kiedy klikasz dwa razy w plik .txt, Windows najpierw sprawdza, do jakiego typu pliku przypisane jest rozszerzenie .txt (to robi assoc), a dopiero potem, jaki program ten typ otwiera (to robi ftype). assoc obsługuje pierwszą połowę tej układanki i przydaje się, gdy chcesz szybko sprawdzić lub naprawić, co odpowiada za dane rozszerzenie.

Składnia i najważniejsze opcje

Podstawowa składnia jest minimalistyczna:

assoc [.rozszerzenie[=[typ_pliku]]]

  • assoc — wywołane bez argumentów wypisuje wszystkie powiązania rozszerzeń zdefiniowane w systemie (długa lista).
  • assoc .ext — pokazuje, do jakiego typu pliku przypisane jest konkretne rozszerzenie.
  • assoc .ext=typ — ustawia (lub nadpisuje) powiązanie rozszerzenia z danym typem pliku.
  • assoc .ext= — usuwa powiązanie rozszerzenia. Po znaku = nie podajesz nic.

assoc nie ma typowych przełączników typu /s czy /f — cała jego logika opiera się na obecności i zawartości po znaku =. Zmiany zapisuje w rejestrze (gałąź HKEY_CLASSES_ROOT), więc do modyfikacji potrzebujesz uprawnień administratora.

Przykłady użycia

  • assoc — zrzuca pełną listę powiązań; warto przepuścić przez more lub findstr, np. assoc | findstr .pdf.
  • assoc .txt — wyświetli coś w stylu .txt=txtfile, czyli rozszerzenie i nazwę typu pliku.
  • assoc .log=txtfile — sprawi, że pliki .log będą traktowane jak zwykłe pliki tekstowe.
  • assoc .myext= — usuwa powiązanie dla .myext (przydatne przy sprzątaniu po odinstalowanym programie).
  • assoc | findstr /i jpg — szybki sposób, żeby wyłuskać z listy tylko interesujące Cię rozszerzenia.

Częste błędy i pułapki

To nie jest komenda PowerShell. W PowerShell assoc nie istnieje jako natywne polecenie — dostaniesz błąd. Uruchom je w cmd.exe albo obejdź to przez cmd /c assoc.

Bez admina nic nie zmienisz. Sam podgląd (assoc .ext) działa zawsze, ale każda modyfikacja wymaga wiersza poleceń uruchomionego jako administrator. Bez tego dostaniesz Access is denied.

Typ pliku to nie program. Częsty błąd początkujących: assoc przypisuje rozszerzenie do typu, a nie do konkretnego .exe. Za to, jaki program faktycznie otwiera dany typ, odpowiada ftype. Bez ustawionego ftype samo assoc nie sprawi, że plik się otworzy.

Nowoczesny Windows bywa uparty. W Windows 10/11 domyślne aplikacje dla użytkownika są dodatkowo kontrolowane przez ustawienia per-user, więc zmiana przez assoc może nie przebić tego, co użytkownik ręcznie ustawił w Ustawieniach → Aplikacje domyślne.

Powiązane komendy: ftype (przypisuje typ pliku do programu), where, reg (bezpośrednia edycja rejestru), start (otwiera plik domyślnym skojarzeniem).