在“文件打开”对话框中显示隐藏文件和文件夹的热键?


260

这个问题非常类似于是否可以在打开/保存对话框中始终显示隐藏/点文件?如何在finder中显示隐藏的文件和文件夹?也有关系。不过,我希望总是告诉他们,这是什么defaults write ... AppleShowAllFiles ...呢。

相反,我想在需要时打开它。我正试图打开.bash_profile,所以我现在需要它:

在此输入图像描述

Linux和侏儒让我们CTRL+ H显示和隐藏隐藏文件之间切换。但Gnome热键不适用于OS X(这是预期的)。

为完整.bash_profile起见,主目录中是否存在:

$ ls ~/.bash_profile 
/Users/jww/.bash_profile

一个相关的问题......如上所示,在Finder(或Spotlight)搜索中输入文件名不起作用。我试图右键单击以在“文件打开”对话框中获取上下文菜单,希望选中“显示所有文件”这样的框。我尝试在View菜单中查找“显示所有文件”,并打开“文件打开”对话框。

为什么隐藏在某个地方?什么用途是用于使用户可以轻松地打开一个文件?

Answers:


449

⌘ CMD+ ⇧ SHIFT+ .在Finder和打开/保存对话框中显示隐藏文件。

如果你使用的是AZERTY键盘,你也需要按下fn,所以⇧ SHIFT要考虑到你已经需要它来制作.


您也可以按⌘ CMD+ ⇧ SHIFT+ G并键入隐藏文件夹的路径,就像在终端中一样(⇥ TAB自动完成也可以)。

如果您不知道自己在做什么,编辑隐藏文件可能会很危险。


7
如果我更改路径,则在列视图中为我工作 - 转到另一个驱动器并再次返回,等等 - 或更改视图,图标和返回。
Tetsujin 2015年

10
键盘快捷键“cmd + shift +。” 似乎在Sierra的Finder中更广泛地工作(不仅仅是打开/保存对话框),在几个视图中也是如此。
Niall 2016年

4
哇,不敢相信这有一条捷径,具体多么奇怪。谢谢!
Ezekiel Victor

1
@MateuszSzlosek,似乎对我不起作用。除非我先执行cmdshiftdot,否则cmdshiftG无法选择隐藏文件。它适合你吗?
Pacerier

2
啊,我明白你的意思。所以是的CMD + SHIFT + G不会选择隐藏文件,除非你使用CMD + SHIFT +显示它们。但您仍然可以使用CMD + SHIFT + G导航到隐藏文件夹而不会泄露它们。好点子!
Mateusz Szlosek,

23

Mateusz Szlosek介绍了第一部分。以下是我如何处理第二部分供我自己使用。

我急于发布我的答案,我没有意识到第二部分已经得到了回答。请参阅如何设置⌘+ H以启用显示隐藏文件。我在下面提供的内容与通知您当前状态的对话框不同。

我使用Automator应用程序创建了一个服务。当我想切换隐藏文件的查看时,我从Finder服务子菜单中选择“切换隐藏文件”,如下所示。(提示:单击图像以获得更好的视图。)

这将导致出现如下所示的弹出窗口。

在此输入图像描述

在此输入图像描述

下面给出了创建服务的步骤。

  1. 打开Automator,选择Service类型的新文档。
  2. 将“运行Shell脚本”操作拖到工作流窗格中。
  3. 编辑包含以显示如下所示。(提示:单击图像以获得更好的视图。)

    脚本的文本在下面重复。

    STATUS=`defaults read com.apple.finder AppleShowAllFiles 2>/dev/null`
    if [ "$STATUS" == TRUE ]; then
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is showing hidden files." buttons {"Cancel", "Hide"}'`
    else
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is not showing hidden files." buttons {"Cancel", "Show"}'`
    fi
    if [ "$STATUS" == "button returned:Show" ]; then
        defaults write com.apple.finder AppleShowAllFiles TRUE
        killall Finder
    elif [ "$STATUS" == "button returned:Hide" ]; then
        defaults write com.apple.finder AppleShowAllFiles FALSE
        killall Finder
    fi
    
  4. Toggle Hidden Files.workflow文件保存(或移动)到该 ~/Library/Services文件夹。
  5. 您可能需要重新启动Finder应用程序才能使服务显示在菜单上。

更新1

建立Mateusz Szlosek的答案,我看到键盘快捷键⌘ CMD+ ⇧ SHIFT+ .可以添加到我的服务中。转到“系统偏好设置”,然后单击“键盘”图标。选择“服务”,然后选择“常规”标题下的“切换隐藏文件”。用⌘ CMD+ ⇧ SHIFT+ .键盘快捷键替换“无” 。


我完全按照你的说法做了(我的〜/ Library / Services文件夹中有文件),但即使在重新启动计算机后也无济于事。
Walter

@Walter:我已将其添加Toggle Hidden Files.workflow到Sourceforge.net。请参阅网站:切换隐藏文件。您可以从那里下载工作流程。安装说明也显示在此站点上。
大卫安德森

为什么将“文件”对话框中的内置密钥快捷方式更改为“服务”,而“服务”却没有,并且退出Finder?(退出Finder会导致前景Finder窗口关闭。)
benwiggy

3

免责声明/警告

隐藏文件通常是隐藏的原因。只有在您确定知道自己在做什么时才使用下面的脚本。换句话说:如果你通过随机删除隐藏文件来破坏系统,那就是你自己的错。


这是我用来切换显示/不在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重新启动和某些窗口不可靠打开的方法 - 或者其他一些方法来摆脱'睡眠'黑客 - 我会很高兴听到它!

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.