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?

Vivek Ragunathan
quelle

Antworten:

6

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

Tetsujin
quelle
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.

viktorstrate
quelle
@ 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.
Boris42
Funktioniert noch im April 2019!
SilverWolf - Stellen Sie Monica am