HAFTUNGSAUSSCHLUSS / WARNUNG
Versteckte Dateien sind normalerweise aus einem bestimmten Grund versteckt. Verwenden Sie das folgende Skript nur, wenn Sie sicher sind, dass Sie wissen, was Sie tun. Mit anderen Worten: Wenn Sie Ihr System beschädigen, indem Sie versteckte Dateien nach dem Zufallsprinzip löschen, ist dies Ihre eigene Schuld.
Hier ist das Skript, das ich verwende, um versteckte Dateien im Finder anzuzeigen / nicht anzuzeigen .
(Die native OSX-Verknüpfung zum Umschalten versteckter Dateien in Dialogfeldern zum Öffnen / Speichern wurde von Mateusz Szlosek bereits oben erwähnt.)
Der Unterschied zwischen meinem Skript und anderen, den ich bisher gesehen habe:
Die meisten Skripte tun nichts anderes, nachdem sie Finder beendet haben. Normalerweise bedeutet dies, dass Sie zurück zu dem Ordner navigieren müssen, in dem Sie sich ursprünglich befunden haben, da der automatische Neustart des Finders Ihren zuletzt aktiven Ordner nicht zuverlässig öffnet.
Das folgende Skript öffnet stattdessen Ihren letzten aktiven Ordner erneut und konzentriert sich darauf, dh den Ordner, in dem Sie sich befanden, als Sie die Umschalttaste verwendet haben, aber jetzt ausgeblendete Dateien anzeigen (oder nicht anzeigen).
Ich habe ihm eine Verknüpfung zugewiesen (cmd + shift +.) Und finde es jetzt viel bequemer, mit versteckten Dateien im Finder zu arbeiten.
Dank an Tetsujin, der vor einiger Zeit ein Skript auf dieser Site gepostet hat, das ich angepasst habe, um die Funktionalität zum erneuten Öffnen des letzten Ordners hinzuzufügen.
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
So verwenden Sie das Skript: Öffnen Sie einen neuen Workflow in Automator, ziehen Sie "AppleScript ausführen", kopieren Sie den obigen Code und fügen Sie ihn in Ihren Dienstordner ein (normalerweise ~ / Library / Services /, afaik).
Das Anhängen einer Verknüpfung zum Ausführen eines Skripts sollte an einer anderen Stelle auf dieser Site behandelt werden. Ich habe den Bereich meiner Verknüpfung auf Finder beschränkt.
Stil bemerkung:
Ich muss auf einen hässlichen Hack zurückgreifen, indem ich "sleep" benutze, nachdem ich Finder beendet habe, bevor ich den Originalordner manuell öffne.
Wenn ich diese Verzögerung nicht erzwinge, hat OSX Finder möglicherweise bereits neu gestartet und einen Ordner geöffnet (meiner Erfahrung nach nicht unbedingt den zuletzt aktiven Ordner). Zusammen mit meinem eigenen "open" -Befehl kann dies dazu führen, dass zwei (unkillable, even) Finder-Prozesse ausgeführt werden und Finder überhaupt nicht mehr funktioniert. In diesem Fall wird das Problem durch Abmelden und erneutes Anmelden behoben, aber es ist offensichtlich Zeitverschwendung. Daher verwende ich "Schlaf".
Ein Schlafwert von 0,5 s funktioniert für mich, aber um auf der sicheren Seite zu sein, können Sie ihn leicht erhöhen (was den Prozess dann spürbarer verzögert).
Wenn jemand eine Möglichkeit kennt, den Finder-Relaunch und das unzuverlässige Öffnen eines Fensters nach dem Senden des Killall-Signals zu unterdrücken, oder eine andere Möglichkeit, den "Sleep" -Hack loszuwerden, würde ich mich freuen, das zu hören!