Versteckte Dateien ein- / ausblenden, ohne den Finder neu zu starten?
13
Ich habe verstanden, dass Folgendes die Möglichkeit ist, die Sichtbarkeit versteckter Dateien umzuschalten:
defaults write com.apple.finder AppleShowAllFiles YES
# replace YES with NO to hide hidden files
killall -HUP Finder /System/Library/CoreServices/Finder.app
Gibt es eine Möglichkeit, versteckte Dateien anzuzeigen / auszublenden, ohne den Finder zu beenden?
Bearbeiten: Dies scheint seit El Capitan nicht mehr zu funktionieren. killall Finderscheint jetzt der einzige Weg zu sein.
Dies ist meine aktuelle El Capitan-Methode, die auch für Mountain Lion und ältere funktionieren sollte
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"
Für Mavericks & Yosemite…
Sie müssen den Finder nicht neu starten, sondern nur die Fenster aktualisieren.
Dieses Applescript schaltet den Status um und aktualisiert ...
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
Dank an Ganbustein für die verbesserte Versteck- / Show-Routine
Sie brauchen den tell application "System Events"Block um die beiden do shell script ...Befehle nicht. Tatsächlich bin ich überrascht, dass Sie mit System Events anweisen können, dass es aufgerufen werden soll do shell script.
Ganbustein
Ich bin kein Experte darin - ich habe immer nur Systemereignisse verwendet, wenn ich anscheinend niemanden im Besonderen zu erzählen habe ;-)
Tetsujin
2
Es hat "immer funktioniert", weil System Events einen Fehlercode zurückgibt, der "Do it yourself" bedeutet, und das Skript genau das tut, um den Fehler zu beheben. Das Problem ist, dass Sie do shell scriptmit den Berechtigungen einer anderen App aufrufen würden, ohne die Möglichkeit zu haben, das Skript zu überprüfen. Apple hat diese Änderung vorgenommen, um eine Sicherheitslücke zu schließen, in der Sie ein Programm, das als Root ausgeführt wird, bitten können, Ihr Skript für Sie zu erstellen.
Ganbustein
1
@ganbustein Ich habe Ihre Version an einigen anderen Stellen auf SE eingefügt. Ich habe dies in einer Antwort verwendet. Danke für die Eingabe. Am meisten geschätzt.
Tetsujin
Das ist großartig, außer dass es den Desktop selbst nicht verändert. Gibt es eine andere Möglichkeit, als den Finder neu zu starten?
TJ Luoma
10
Unter macOS Sierra, Version 10.12.4 und höher, können Sie ⌘+ Shift+ .(Punkt) drücken , um versteckte Dateien im Finder umzuschalten .
Späte Bearbeitung: Dies funktioniert derzeit auch auf Mojave, Stand b5, 18. August 2018.
@ fd0, Es heißt "... um versteckte Dateien innerhalb von Finder umzuschalten.", und das Schlüsselwort hier ist "umschalten", was normalerweise bedeutet, dass in diesem Anwendungsfall die gleiche Tastenkombination gedrückt wird, um versteckte Dateien auszublenden / auszublenden. +1
user3439894
Kennen Sie das Äquivalent für Nicht-US-Versionen?
Ogerard
Vergessen Sie nicht, dass Sie dieselbe Tastaturkombination in den Dialogfeldern Öffnen / Speichern verwenden können, um versteckte Dateien vorübergehend anzuzeigen.
tell application "System Events"
Block um die beidendo shell script ...
Befehle nicht. Tatsächlich bin ich überrascht, dass Sie mit System Events anweisen können, dass es aufgerufen werden solldo shell script
.do shell script
mit den Berechtigungen einer anderen App aufrufen würden, ohne die Möglichkeit zu haben, das Skript zu überprüfen. Apple hat diese Änderung vorgenommen, um eine Sicherheitslücke zu schließen, in der Sie ein Programm, das als Root ausgeführt wird, bitten können, Ihr Skript für Sie zu erstellen.Unter macOS Sierra, Version 10.12.4 und höher, können Sie ⌘+ Shift+ . (Punkt) drücken , um versteckte Dateien im Finder umzuschalten .
Späte Bearbeitung: Dies funktioniert derzeit auch auf Mojave, Stand b5, 18. August 2018.
quelle