Pokaż / Ukryj ukryte pliki bez ponownego uruchamiania wyszukiwarki?
13
Zrozumiałem, że w następujący sposób można przełączać widoczność ukrytych plików:
defaults write com.apple.finder AppleShowAllFiles YES
# replace YES with NO to hide hidden files
killall -HUP Finder /System/Library/CoreServices/Finder.app
Czy istnieje sposób pokazywania / ukrywania ukrytych plików bez zabijania Findera?
Edycja: Wygląda na to, że nie działa już od El Capitan. killall Finderwydaje się teraz jedynym sposobem.
To moja obecna metoda El Capitan, która powinna również działać dla Mountain Lion i starszych
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"
Dla Mavericks i Yosemite…
Nie trzeba ponownie uruchamiać Findera, wystarczy odświeżyć okna.
Ten Applescript przełączy stan i odświeży ...
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
Kredyt dla ganbustein dla poprawy Ukryj / Pokaż rutynowych
Nie potrzebujesz tell application "System Events"bloku wokół dwóch do shell script ...poleceń. W rzeczywistości jestem zaskoczony, że System Events pozwala ci to wywołać do shell script.
ganbustein
Nie jestem w tym ekspertem - zawsze korzystałem ze zdarzeń systemowych, jeśli wydaje mi się, że nie mam nikogo konkretnego do powiedzenia ;-)
Tetsujin
2
„Zawsze działało”, ponieważ System Events zwraca kod błędu oznaczający „zrób to sam”, a skrypt po cichu robi to, aby obsłużyć błąd. Problem polega na tym, że korzystasz do shell scriptz uprawnień innych aplikacji bez możliwości sprawdzenia skryptu. Firma Apple dokonała tej zmiany, aby zamknąć lukę w zabezpieczeniach, w której można poprosić program działający jako root o wykonanie skryptu za Ciebie.
ganbustein
1
@ganbustein Wkleiłem twoją wersję w kilku innych miejscach na SE. Użyłem tego w odpowiedzi. Dzięki za wkład. Najbardziej ceniony.
Tetsujin
Jest to świetne, tyle że nie zmienia samego pulpitu. Czy istnieje też inny sposób niż ponowne uruchomienie Findera?
TJ Luoma
10
W systemie macOS Sierra w wersji 10.12.4 i nowszej możesz nacisnąć ⌘+ Shift+ .(kropka) , aby przełączyć ukryte pliki w Finderze.
Późna edycja: obecnie działa to również w Mojave, od b5, 18 sierpnia 2018 r.
@ fd0, stwierdza: „... przełączać ukryte pliki w Finderze.”, a kluczowym słowem tutaj jest „przełączać”, co zwykle oznacza naciśnięcie tej samej kombinacji klawiszy skrótu, która ukrywa / odkrywa ukryte pliki w tym przypadku użycia. +1
użytkownik3439894
Czy znasz odpowiednik wersji spoza USA?
ogerard
Nie zapominaj, że możesz użyć tej samej kombinacji klawiatury w oknach dialogowych Otwórz / Zapisz, aby tymczasowo pokazać ukryte pliki.
tell application "System Events"
bloku wokół dwóchdo shell script ...
poleceń. W rzeczywistości jestem zaskoczony, że System Events pozwala ci to wywołaćdo shell script
.do shell script
z uprawnień innych aplikacji bez możliwości sprawdzenia skryptu. Firma Apple dokonała tej zmiany, aby zamknąć lukę w zabezpieczeniach, w której można poprosić program działający jako root o wykonanie skryptu za Ciebie.W systemie macOS Sierra w wersji 10.12.4 i nowszej możesz nacisnąć ⌘+ Shift+ . (kropka) , aby przełączyć ukryte pliki w Finderze.
Późna edycja: obecnie działa to również w Mojave, od b5, 18 sierpnia 2018 r.
źródło