我刚刚使用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上显示/隐藏隐藏文件吗?
答案 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"
使用AppleScript编辑器并另存为应用程序。
答案 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)
答案 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