显示/隐藏隐藏文件而不重新启动finder?


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?

Answers:


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"

对于小牛和优胜美地…

您无需重新启动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 2015年

我不是专家-如果我似乎没有“特别要告诉别人”的话,我就一直使用系统事件;-)
Tetsujin 2015年

2
之所以“一直有效”,是因为System Events返回的错误代码表示“自己动手”,而脚本只是在静默地处理错误。问题在于您将调用do shell script其他应用程序的特权,而没有给它机会审查脚本。Apple进行了此更改以关闭一个安全漏洞,您可以在其中要求以root用户身份运行的程序为您编写脚本。
ganbustein 2015年

1
@ganbustein我已将您的版本粘贴到SE上的其他两个位置,我已将其用作答案。感谢您的输入。非常感谢。
Tetsujin 2015年

这很不错,除了它不会更改桌面本身。除了重新启动Finder之外,还有其他方法吗?
TJ Luoma

10

在macOS Sierra 10.12.4及更高版本上,您可以按+ Shift+ . (句号)在Finder中切换隐藏文件。

后期编辑:自2018年8月18日b5起,当前也可在Mojave上使用。


@ fd0,它指出:“ ...在Finder中切换隐藏文件。”,此处的关键字是“切换”,在此用例中,这通常意味着同时按下同一快捷键组合既可以隐藏文件也可以隐藏文件。+1
user3439894

您知道非美国版本的等效版本吗?
奥杰拉德

不要忘记,您可以在“打开/保存”对话框中使用相同的键盘组合来临时显示隐藏的文件。
boris42 '18 -5-7

仍可在2019年4月使用!
SilverWolf-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.