W systemie Mac OS X po dwukrotnym kliknięciu nazwy pliku plik ten otworzy się w aplikacji, która go utworzyła. Dlatego w pliku Mac OS X musi być zapisana informacja o tym, która aplikacja utworzyła ten plik. Pamiętaj, że nie jest to rozszerzenie pliku, plik może mieć dowolne rozszerzenie lub może nie mieć żadnego rozszerzenia.
Dwa pytania dotyczące tej informacji:
Jak mogę wyszukać wszystkie pliki, które otworzą określoną aplikację?
Jak mogę zobaczyć i zmienić aplikację, którą otworzy określony plik?
Odpowiedzi:
Aplikacja, w której otworzy się plik, jest identyfikowana według rodzaju przedmiotu . Na przykład „Textin Document Document” otworzy się w TextMate, a „TextWrangler Document Document” otworzy się w TextWrangler. Same aplikacje są odpowiedzialne za dostarczanie tego rodzaju elementów i są one przypisywane do plików, co pozwoli OS X wybrać aplikację, w której można je otworzyć.
Możesz sprawdzić te informacje na pojedynczych plikach za pomocą
mdls
:Tak więc, aby wyszukać wszystkie pliki, które zostaną otwarte za pomocą TextMate, wyszukaj je z tym konkretnym rodzajem elementu :
Możesz także ograniczyć to wyszukiwanie do określonego folderu:
Jak znaleźć te ciągi znaków „rodzaju przedmiotu” dostarczane przez aplikacje?
Przejdź do pliku aplikacji, który Cię interesuje, i kliknij go prawym przyciskiem myszy. Wybierz opcję Pokaż zawartość pakietu… i przejdź do opcji Zawartość / zasoby . Otwórz Info.plist .
Znajdziesz tutaj typy dokumentów, które aplikacja może obsłużyć, w tym ich nazwę typu dokumentu , który jest dokładnie tym, którego możesz szukać
mdfind
.Wybierz plik, kliknij go prawym przyciskiem myszy i kliknij polecenie Uzyskaj informacje . Zmień aplikację na liście Otwórz za pomocą:
Inną przydatną aplikacją do obsługi domyślnych aplikacji i powiązań jest RCDefaultApp .
źródło
Jeśli zmienisz powiązanie programu dla pojedynczego pliku, jest on przechowywany w rozszerzonym atrybucie o nazwie
com.apple.ResourceFork
(AFAICT, zawsze z przesunięciem0x108
) i można uzyskać do niego dostęp z wiersza poleceń za pomocąxattr
.Rozszerzone atrybuty plików można wyświetlić za pomocą
ls -l@
wiersza poleceń:Na przykład jawnie wybrałem Podgląd jako aplikację, aby otworzyć plik w oknie Pobierz informacje .
Starsze wersje OS X obsługiwały użycie kodu twórcy w celu określenia aplikacji do otwarcia określonego pliku. Niektóre aplikacje nadal je zapisują i można uzyskać do nich dostęp, analizując metadane pliku Spotlight przy użyciu
mdls
. W tym przykładzie sprawdzam.pxm
plik utworzony przez Pixelmator.Ostatni wiersz wyjścia przykładowy kod twórca pokazuje ustawioną przez Pixelmator:
PXMT
.źródło
mdfind -onlyin /path/to/directory/to/limit/search/to 'kMDItemFSCreatorCode=="PXMT"'
.png
Pliki pobrane z Internetu bez tych metadanych są otwierane w preferowanej przeglądarce zdjęć. Obawiam się, że Twój cel byłby trudny do osiągnięcia całkowicie.