Показати / приховати приховані файли без перезапуску пошуку?


13

Я зрозумів, що наступний спосіб змінити видимість прихованих файлів:

defaults write com.apple.finder AppleShowAllFiles YES
# replace YES with NO to hide hidden files
killall -HUP Finder /System/Library/CoreServices/Finder.app

Чи є спосіб показати / приховати приховані файли, не вбиваючи Finder?

Відповіді:


6

Редагувати: це, здається, більше не працює з El Capitan. killall Finderздається, це єдиний шлях зараз.

Це мій сучасний метод El Capitan, який також повинен працювати для Mountain Lion & старших

set newHiddenVisiblesState to "YES"
try
    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
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState & "; killall Finder"

Для Mavericks & Yosemite ...

Вам не потрібно перезапускати Finder, лише оновіть вікна.

Цей Applescript переключить стан і оновить ...

set newHiddenVisiblesState to "YES"
try
    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
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState


tell application "Finder"
    set theWindows to every Finder window
    repeat with i from 1 to number of items in theWindows
        set this_item to item i of theWindows
        set theView to current view of this_item
        if theView is list view then
            set current view of this_item to icon view
        else
            set current view of this_item to list view

        end if
        set current view of this_item to theView
    end repeat
end tell

Кредит ganbustein для поліпшення приховати / показати рутину


Вам не потрібен tell application "System Events"блок навколо двох do shell script ...команд. Насправді я здивований, що Системні події дозволяють вам сказати, щоб це викликало do shell script.
ganbustein

Я не експерт у цьому - я завжди просто використовував системні події, якщо у мене, здається, не було "когось зокрема", щоб сказати ;-)
Tetsujin

2
Це "завжди працювало", тому що System Events повертає код помилки, що означає "зробіть самі", а сценарій мовчки робить саме це для усунення помилки. Проблема полягає в тому, що ви б попросили do shell scriptпривілеїв деяких інших програм, не даючи йому можливості перевірити сценарій. Apple внесла ці зміни, щоб закрити отвір у безпеці, де ви можете попросити програму, що працює як root, щоб зробити ваш сценарій для вас.
ganbustein

1
@ganbustein Я вставив вашу версію в пару інших місць на SE, я використав це у відповіді. Дякуємо за вклад. Найбільше цінують.
Tetsujin

Це чудово, за винятком того, що він не змінює сам стільницю. Чи існував спосіб це зробити, крім перезапуску Finder?
TJ Luoma

10

У macOS Sierra, версія 10.12.4 і вище, ви можете натиснути + Shift+ . (період) , щоб переключити приховані файли всередині Finder.

Пізнє редагування: наразі це працює і в Mojave, станом на b5, 18 серпня 2018 року.


@ fd0, в ньому йдеться про "... для перемикання прихованих файлів всередині Finder.", а ключове слово тут - "toggle", що, як правило, передбачає натискання однієї комбінації клавіш комбінації обох прихованих / прихованих прихованих файлів у цьому випадку використання. +1
користувач3439894

Чи знаєте ви еквівалент у не американських версіях?
ogerard

Не забувайте, що ви можете використовувати ту саму комбінацію клавіатур у діалогових вікнах "Відкрити / Зберегти", щоб тимчасово показувати приховані файли.
boris42

Все ще працює у квітні 2019 року!
SilverWolf -
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.