免责声明/警告
隐藏文件通常是隐藏的原因。只有在您确定知道自己在做什么时才使用下面的脚本。换句话说:如果你通过随机删除隐藏文件来破坏系统,那就是你自己的错。
这是我用来切换显示/不在Finder中显示隐藏文件的脚本。
(以上Mateusz Szlosek提到了在Open / Save对话框中切换隐藏文件的OSX原生快捷方式)
我到目前为止看到的剧本和其他人之间的区别:
杀死Finder后,大多数脚本都没有做任何其他事情。通常,这意味着您必须导航回原来的文件夹,因为自动Finder重新启动无法可靠地打开您的上一个活动文件夹。
下面的脚本会重新打开并关注您的上一个活动文件夹,即使用切换时所在的文件夹,但现在显示(或不显示)隐藏文件。
我为它指定了一个快捷方式(cmd + shift +。),现在可以更方便地在Finder中查找隐藏文件了。
感谢Tetsujin不久之前在这个网站上发布了一个脚本我已经适应了添加'重新打开最后一个文件夹'的功能。
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
要使用该脚本:在Automator中打开一个新工作流程,在“运行AppleScript”中拖动,复制并粘贴上面的代码,然后保存在您的服务文件夹中(通常为〜/ Library / Services /,afaik)。
附加快捷方式以执行脚本应该包含在此站点上的其他位置。我将快捷方式的范围仅限于Finder。
风格评论:
在手动打开原始文件夹之前,我必须在杀死Finder之后使用'sleep'来进行一些丑陋的黑客攻击。
如果我不强迫这个延迟,OSX有可能重新启动Finder并打开一个文件夹(根据我的经验,不一定是最后一个活动文件夹)。与我自己的'open'命令一起,这可能导致两个(不可杀戮的,甚至)Finder进程运行的恶劣效果,而Finder根本不再工作。如果发生这种情况,退出并重新登录会修复它,但显然是浪费时间,所以我使用'sleep'。
0.5s的睡眠值对我有用,但为了安全起见,你可以稍微增加它(然后为过程添加更明显的延迟)。
如果有人知道在发送killall信号之后抑制Finder重新启动和某些窗口不可靠打开的方法 - 或者其他一些方法来摆脱'睡眠'黑客 - 我会很高兴听到它!