Ukrywanie plików i folderów za pomocą Automatora

12/01/2012, 14:59 · · · 4

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

  1. w oknie Wybierz szablon kolejki czynności wybieramy Usługę,
  2. w polu wyszukiwania wpisujemy applescript,
  3. przeciągamy czynność Uruchom AppleScript na puste pole z prawej strony,
  4. po prawej od pola wyszukiwania są ustawienia dotyczące danej Usługi. Poprawne ustawienia to Usługa otrzymuje zaznaczone pliki lub katalogiFinder,
  5. 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)

  6. zapisujemy usługę nadając jej odpowiednią nazwę (np. Ukryj wskazany plik lub folder),
  7. 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

  1. powtarzamy kroki 1-4 z poprzedniej usługi,
  2. 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)
  3. zapisujemy usługę nadając jej odpowiednią nazwę (np. Odkryj wskazany plik lub folder),
  4. 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)

  1. w oknie Wybierz szablon kolejki czynności wybieramy Usługę,
  2. w polu wyszukiwania wpisujemy słowo skrypt,
  3. przeciągamy czynność Uruchom skrypt powłoki na puste pole z prawej strony,
  4. po prawej od pola wyszukiwania ustawiamy preferencje dotyczące danej Usługi na Usługa otrzymuje zaznaczone brak danych wejściowychFinder.

    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,
  5. w oknie Uruchom skrypt powłoki zamiast słowa catwklejamy poniższe komendy:
    defaults write com.apple.finder AppleShowAllFiles TRUE
    killall Finder

  6. zapisujemy plik pod nazwą Pokaż ukryte pliki,
  7. 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)

  1. wykonujemy kroki 1-4 z poprzedniego przepisu,
  2. w oknie Uruchom skrypt powłoki zamiast słowa catwklejamy poniższe komendy:
    defaults write com.apple.finder AppleShowAllFiles FALSE
    killall Finder
  3. zapisujemy plik pod nazwą Schowaj ukryte pliki,
  4. 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.



4

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl.