如何制作一个脚本来显示/隐藏Mac OS X中的隐藏文件?

时间:2013-12-09 11:48:54

标签: macos applescript show hidden finder

我刚刚使用Retina获得MBP,而且我是Mac OS X的新手(之前使用过PC)。我注意到Mac没有GUI来显示/隐藏像Windows这样的隐藏文件。我研究过这个网站Show Hidden Files on your Mac。是的,它有效。

显示隐藏文件: (使用终端) 默认为写com.apple.finder AppleShowAllFiles TRUE killall Finder

隐藏隐藏文件 defaults write com.apple.finder AppleShowAllFiles FALSE killall Finder

我想要做的是制作一个可执行脚本,当我双击它时执行上述命令,这样我就不必在终端中键入命令,以便我显示/隐藏隐藏文件。我看到了Applescript,但我对它并不熟悉。我不知道执行我想要的命令。但我读过一些。

有人可以帮我制作一个可执行脚本,在Mac上显示/隐藏隐藏文件吗?

9 个答案:

答案 0 :(得分:12)

您不再需要脚本了。打开取景器,按 + ⇧Shift + ,它将显示/隐藏您的文件。

答案 1 :(得分:9)

display dialog "Show all files" buttons {"TRUE", "FALSE"}
set result to button returned of result
if result is equal to "TRUE" then
    do shell script "defaults write com.apple.finder AppleShowAllFiles -boolean true"
else
    do shell script "defaults delete com.apple.finder AppleShowAllFiles"
end if
do shell script "killall Finder"  

enter image description here

使用AppleScript编辑器并另存为应用程序。

enter image description here

答案 2 :(得分:3)

您也可以使用Automator创建如下服务:

do shell script "[[ $(defaults read com.apple.finder AppleShowAllFiles) = 1 ]] && b=false || b=true
defaults write com.apple.finder AppleShowAllFiles -bool $b"
tell application "Finder"
    quit
    delay 0.2 -- without this delay there was a "connection is invalid" error
    reopen -- open a new default window
    activate -- make Finder frontmost
end tell

您可以从“键盘”偏好设置面板为服务提供键盘快捷键。

答案 3 :(得分:1)

我制作了简单的MAC OS X应用程序来显示/隐藏系统文件。这是一个状态栏应用程序。很轻巧。

Show/Hide System Files on MAC OS X

您可以从此处下载:http://ShowHiddenFilesOnMACOSX.blogspot.com

答案 4 :(得分:1)

基于@ user495470的answer ...

在macOS Sierra中(可能在之前),您可以将其放入automator的Run Apple Script框中:

do shell script "[[ $(defaults read com.apple.finder AppleShowAllFiles) = ON ]] && b=OFF || b=ON
defaults write com.apple.finder AppleShowAllFiles $b
killall Finder"

换行很重要(否则我上面会说过)。

killall Finder会替换整个tell块,因为它会在准备好后自行重启。

答案 5 :(得分:1)

我更喜欢坚持使用shell脚本。再次提到@ user495470的答案,切换隐藏文件并重启finder的脚本是:

[[ $(defaults read com.apple.finder AppleShowAllFiles) = ON ]] && b=OFF || b=ON
defaults write com.apple.finder AppleShowAllFiles $b
killall Finder

您可以将所有脚本存储在~/bin中。如果将上面的代码保存到〜/ bin / toggle_files.command,这会使您的脚本成为可执行文件:

chmod +x ~/bin/togglefiles.command

该脚本现在是“可点击的”。我妈妈更喜欢点击她的shell脚本,然后将它们存储在~/Documents/Scripts中。我想这是一个品味问题。为了从终端唤起你的脚本(我喜欢这样做)你应该在你的个人资料中创建一个别名。我使用bash(我认为它是OS X中的默认值),你的bash配置文件将在~/.bash_profile。如果你添加

alias togglefiles="~/bin/togglefiles.command"

~/.bash_profile,您的所有终端会话都会将命令togglefiles视为对位于bin目录中的shell脚本的调用。

答案 6 :(得分:0)

这是一个用于切换所有不可见文件的可见性的脚本。

set myShell to "defaults read com.apple.Finder AppleShowAllFiles"
set myVisible to (do shell script myShell)
if myVisible = "0" then
    set myShell to "defaults write com.apple.Finder AppleShowAllFiles 1"
else
    set myShell to "defaults write com.apple.Finder AppleShowAllFiles 0"
end if
set myResult to (do shell script myShell)
tell application "Finder"
    quit
    delay 2
end tell
activate application "Finder"
return myVisible

我不记得为什么我按照我的方式写它,例如为什么我在最后添加了return命令。我知道它适用于自10.6.8以来所有版本的OSX。 Parag Bafna与其他答案的不同之处在于,不会询问您是否显示或隐藏文件。如果文件被隐藏,它们会被显示,如果它们可见,它们就会被隐藏。

答案 7 :(得分:0)

我看到一个链接,提供显示/隐藏隐藏文件的选项。

http://appducate.com/2013/01/how-to-show-hidden-files-folders-on-your-mac/

我使用了Automator脚本,您可以从我给出的链接下载。

为了让我更有效地显示/隐藏隐藏文件,我使用Automator将脚本保存为应用程序。

然后使用此处的步骤为我创建的“Show-Hide Hidden Files”应用程序创建了一个键盘快捷键:

https://superuser.com/questions/245711/starting-application-with-custom-keyboard-shortcut

现在我只需按键盘快捷键即可显示或隐藏隐藏文件。我可以在任何应用程序中执行此操作:)

顺便说一句,谢谢大家的回答。这只是有效显示/隐藏隐藏文件的另一种方法。

答案 8 :(得分:0)

  

要在Mac OSX ElCaptain中显示或隐藏文件,这是一个使用别名的简单脚本。创建一个别名并将其绑定在一个函数上.So:

#!/bin/bash

#create an alias with function 

a="s" 
b="h" 

function showHideFiles(){
if [[ "$1" = "$a" ]];       #show hidden files
then
  defaults write com.apple.finder AppleShowAllFiles true; killall Finder
elif [[ "$1" = "$b" ]];     #hide hidden files
then      
  defaults write com.apple.finder AppleShowAllFiles false; killall Finder
fi
}

alias files=showHideFiles