如何自动打开从Safari下载的文件?[重复]


Answers:


9

您可以将文件扩展名添加到“安全”扩展名列表中。完成后,safari将启动与该文件类型关联的任何应用程序。

这是通过创建~/Library/Preferences/com.apple.DownloadAssessment.plist包含要打开的文件扩展名的文件来完成的。

这是一个例子,它解决了.torrent文件的问题:

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com-PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
 <key>LSRiskCategorySafe</key> 
<dict> 
 <key>LSRiskCategoryExtensions</key> 
<array> 
 <string>torrent</string> 
 </array> 
 </dict> 
 </dict> 
</plist> 

更多信息在这里

如果文件已存在,请对其进行编辑并<string>torrent</string><array>标记下添加该行


这个解决方案适用于OS X 10.11 El Capitan👍
Ben Morrow

似乎不再存在了?
vy32

1

一种方法是使用Hazel。我尝试使用它,它运作顺利。但是,Hazel不是免费的(25美元)。

第二种解决方案是使用Automator,它是Mac OS X的一部分。

但是,使用Automator并不是很有效。一些mp4文件确实打开了,但由于未知原因,一些文件没有打开。

此外,我不确定Automator是否必须在下载后立即打开文件,或者打开它们可能需要一个时间范围。也许使用Automator的一些经验可以详细说明这一点。


0

这个答案将描述当您第一次打开从Safari下载的文件时如何不获取以下消息。

在此输入图像描述

好吧,我不确定你为什么会看到这个,但如果你的文件进入〜/ Download文件夹,你必须告诉操作系统你想要该文件夹不在隔离区内。

打开您的Terminal.app(Spotlight for Terminal)并输入:

xattr -d -r com.apple.quarantine ~/Downloads

可能必须以超级用户身份执行此操作(在这种情况下,请使用此代替上述内容),因此如果上述操作失败,请在命令之前尝试使用sudo

sudo xattr -d -r com.apple.quarantine ~/Downloads

注意:如果您使用sudo,将会要求您输入密码,这是正常的。

什么是xattr

xattr命令可用于显示,修改或删除一个或多个文件的扩展属性,包括目录和符号链接。扩展属性是与文件一起存储的任意元数据,但与文件系统属性(例如修改时间或文件大小)分开。

警告:通过执行上述操作,操作系统将停止关注下载文件夹中的文件。如果您只想对某些文件执行此操作,则必须在其他位置下载“安全”文件并在该文件夹中执行上述命令。

如果要撤消操作,只需删除-d

xattr -r com.apple.quarantine ~/Downloads

-r是让递归(所以现有的文件和文件夹也会被修改)。

更新我已经意识到下载它们时会将新文件放入隔离区,所以虽然上面的命令会逐个文件并删除标志,所以你不必每次都告诉操作系统该文件是安全的,为了完全禁用该机制,您必须执行额外的命令。请确保这对您没问题,因为您无法对单个文件执行此操作,这是全有或全无

要在将来完全禁用任何文件的警告对话框,请执行此命令(同样,如果您需要sudo,我不是100%确定,请先尝试不使用它:

defaults write com.apple.LaunchServices LSQuarantine -bool NO

如果你想要恢复变化:

defaults write com.apple.LaunchServices LSQuarantine -bool YES

我不记得你是否需要再次注销/登录或重新启动。

祝你好运,小心那些下载。:)

重新启动IS这些命令后需要

附上链接以进一步阅读隔离区


我已经更新了答案,你试过第二个命令吗?
Martin Marconcini 2013年

是的,我明白了。它的工作方式是safari将打开(某些)安全文件。但安全的定义是“不是隔离”。因此,在您“手动”尝试打开它并获取对话框(并接受文件是安全的)之前,此标志将阻止文件打开。我很惊讶因为mp4应该自动打开,也许这里还有别的东西。尝试使用第二个命令并告诉我它是如何进行的。之后你必须重新启动。
Martin Marconcini 2013年

你执行命令后重启了吗?这是一个系统范围的服务,所以你必须重新启动。
Martin Marconcini 2013年

我以前的方式是什么?你是如何下载文件的?你有一个我可以尝试的样品吗?(我们去聊天吗?):D
Martin Marconcini 2013年

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.