ВІДМОВА / ПОПЕРЕДЖЕННЯ
Приховані файли зазвичай приховуються з причини. Скористайтеся сценарієм нижче, лише якщо ви впевнені, що знаєте, що робите. Іншими словами: Якщо ви зламаєте вашу систему, випадковим чином видаляючи приховані файли, це ваша вина.
Ось сценарій, який я використовую, щоб перемикати показ / не показувати приховані файли в Finder .
(Власний ярлик OSX для перемикання прихованих файлів у діалогах "Відкрити / Зберегти" вже згадував Матеуш Шлосек)
Різниця між моїм сценарієм та іншими, які я бачив досі:
Більшість сценаріїв більше нічого не роблять після вбивства Finder. Зазвичай це означає, що вам потрібно повернутися до папки, в якій ви знаходилися, оскільки автоматичний перезапуск Finder не відкриває останню активну папку.
Сценарій нижче натомість знову відкриває та фокусується на вашій останній активній папці, тобто папці, у якій ви знаходились під час використання перемикача, але тепер показує (або не показує) приховані файли.
Я призначив їй ярлик (cmd + shift +.) І знайти роботу зі прихованими файлами у Finder набагато зручніше.
Подяка Тецуджіну, який опублікував сценарій на цьому сайті деякий час тому, що я адаптувався, щоб додати функцію "повторно відкрити останню папку".
on run {input, parameters}
tell application "Finder"
set var1 to POSIX path of (target of window 1 as alias)
end tell
set newHiddenVisiblesState to "YES"
set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
if oldHiddenVisiblesState is in {"1", "YES"} then
set newHiddenVisiblesState to "NO"
end if
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
---- Sleep hack mentioned below. 0.5s minimum, 1-2s safer. Ugly, but (probably) unavoidable.
do shell script "killall Finder; sleep 0.5s"
tell application "Finder"
---- Close other windows if Finder managed to relaunch already
if application "Finder" is running then
close every window
end if
open (var1 as POSIX file)
activate
end tell
end run
Щоб використовувати сценарій: Відкрийте новий робочий процес у Automator, перетягніть «Запустити AppleScript», скопіюйте та вставте код вище та збережіть всередині папки служб (зазвичай, ~ / Бібліотека / Послуги /, afaik).
Приєднання ярлика для виконання сценарію повинно бути висвітлено десь ще на цьому сайті. Я обмежив сферу своєї ярлика лише на Finder.
Зауваження про стиль:
Мені доводиться вдаватися до некрасивого злому, використовуючи «сон» після вбивства Finder, перш ніж відкрити оригінальну папку вручну.
Якщо я не змушую цю затримку, є ймовірність, що OSX вже перезапустив Finder і відкрив папку (не обов’язково останню активну, на мій досвід). Разом із моєю власною командою «відкрити» це може призвести до неприємного ефекту двох запущених (нерозбірливих, рівних) процесів Finder, і Finder взагалі більше не працює. Якщо це трапляється, вихід із системи знову і знову виправляє це, але очевидно, що це марно витрачений час, тому я використовую "сон".
Значення сну в 0,5 секунди працює для мене, але, щоб бути в безпеці, ви можете трохи збільшити його (додавши потім помітніші затримки до процесу).
Якщо хтось знає спосіб або придушити перезапуск Finder і ненадійне відкриття якогось вікна після надсилання сигналу Killall - або якийсь інший спосіб позбутися від злому «сну» - я був би радий почути це!