Ukrywanie plików i folderów za pomocą Automatora
Przy okazji artykułu o ukrywaniu folderów jeden z czytelników zapytał, czy nie dałoby się tego zrobić przy pomocy Automatora. Oczywiście, że by się dało i w sumie takie rozwiązanie może przyspieszyć pracę w przyszłości. Na wstępie chciałbym też uprzedzić, że nie jestem jakimś specem z dziedziny Automatora i AppleScripta, receptę udało mi się złożyć z kawałków odnalezionych w sieci, więc jeśli mielibyście jakieś sugestie odn. usprawnień kodu, to są one mile widziane.
Pomyślałem sobie, że najlepiej do takiej akcji ukrywania plików bądź folderów skorzystać z Usług. Dlaczego? Odwołanie się do usług możliwe jest albo z poziomu paska menu dowolnej aplikacji (klikając na nazwę aplikacji mamy dostęp do Usług dla niej przeznaczonych) albo nawet z menu podręcznego, które uzyskujemy po kliknięciu prawym przyciskiem myszy (PPM) na zaznaczonym pliku/katalogu. Uruchamiamy więc Automator (który znajduje się w folderze /Applications) i przystępujemy do roboty:
Usługa ukrywająca plik lub katalog
- w oknie Wybierz szablon kolejki czynności wybieramy Usługę,
- w polu wyszukiwania wpisujemy applescript,
- przeciągamy czynność Uruchom AppleScript na puste pole z prawej strony,
- po prawej od pola wyszukiwania są ustawienia dotyczące danej Usługi. Poprawne ustawienia to Usługa otrzymuje zaznaczone pliki lub katalogi w Finder,
- w okienku Uruchom AppleScript, w miejscu tekstu
(* Your script goes here *)
wklejamy poniższy kod:set the_result to input
set hide_file to (quoted form of POSIX path of (the_result as alias)) as string
do shell script ("chflags hidden " & hide_file)
- zapisujemy usługę nadając jej odpowiednią nazwę (np. Ukryj wskazany plik lub folder),
- zamykamy Automator.
Możemy od razu przystąpić do testów i zaznaczyć plik lub katalog, następnie klikamy na niego PPM i wyszukujemy podmenu Usługi, z którego wybieramy utworzoną przed chwilą usługę ukrywającą. Jeśli jednak wcześniej nie mieliście ustawionych innych usług dla Findera (które mogą dodawać różne aplikacje), to możecie znaleźć Ukrywanie pliku/folderu bezpośrednio w menu podręcznym.
Usługa przywracająca widoczność pliku
- powtarzamy kroki 1-4 z poprzedniej usługi,
- w okienku Uruchom AppleScript, w miejscu
(* Your script goes here *)
wklejamy poniższy kod:set the_result to input
set hide_file to (quoted form of POSIX path of (the_result as alias)) as string
do shell script ("chflags nohidden " & hide_file)
- zapisujemy usługę nadając jej odpowiednią nazwę (np. Odkryj wskazany plik lub folder),
- zamykamy Automator.
By wykorzystać tę usługę, musimy mieć podgląd na ukryte pliki, a domyślnie nie jest to włączone. W tym celu stworzymy dodatkowe dwie usługi odpowiedzialne kolejno za pokazanie plików ukrytych oraz schowanie plików ukrytych.
Usługa pokazująca pliki ukryte (wszystkie)
- w oknie Wybierz szablon kolejki czynności wybieramy Usługę,
- w polu wyszukiwania wpisujemy słowo skrypt,
- przeciągamy czynność Uruchom skrypt powłoki na puste pole z prawej strony,
- po prawej od pola wyszukiwania ustawiamy preferencje dotyczące danej Usługi na Usługa otrzymuje zaznaczone brak danych wejściowych w Finder.
Jeśli po wybraniu brak danych wejściowych nie będziecie w stanie wybrać w drugim menu Finder, to pierwszą wartość zmieńcie tymczasowo na inną, np. tekst w drugiej ustawcie Finder i zmieńcie z powrotem pierwszą na brak danych wejściowych, - w oknie Uruchom skrypt powłoki zamiast słowa
cat
wklejamy poniższe komendy:defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
- zapisujemy plik pod nazwą Pokaż ukryte pliki,
- wyłączamy Automator.
Dana usługa zmienia ustawienia Findera, by wyświetlał ukryte pliki oraz go restartuje, by zmiany były widoczne. Znajdziemy ją w pasku menu Findera, klikając na jego nazwę i podmenu Usługi.
Usługa chowająca z powrotem pliki ukryte (wszystkie)
- wykonujemy kroki 1-4 z poprzedniego przepisu,
- w oknie Uruchom skrypt powłoki zamiast słowa
cat
wklejamy poniższe komendy:defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder
- zapisujemy plik pod nazwą Schowaj ukryte pliki,
- wyłączamy Automator.
Dana usługa zmienia ustawienia Findera, by z powrotem schował ukryte pliki oraz go restartuje, by zmiany były widoczne. Znajdziemy ją w pasku menu Findera, klikając na jego nazwę i podmenu Usługi.
Komentarze: 4
Bosko! Dziękuję, tak dużo łatwiej i tylko raz ;)
A jak sprawić aby w menu pod PPM pojawiła się [Wytnij][Kopiuj][Wklej]
No właśnie!
Chodzi Ci o te przyciski z jednego ze screenów? Dodaje je nakladka na Findera – TotalFinder. Ma on jeszcze wbudowany przełącznik pokazujący lub chowający ukryte pliki bez konieczności restartowania Findera. A poza tym TotalFinder oferuje jeszcze inne udogodnienia :)