在 Mac OS X 中,有一个非常有用的文件属性,称为“来自哪里”,它会告诉您文件下载的 URL,可通过“更多信息”部分中的“获取信息”上下文菜单访问,如下所示:
我的问题是:可以在 Windows 中访问这些信息吗?
我以前从未在任何地方看到过此类信息,因此我认为答案是否定的,并将其归结为 Windows 或其文件系统的限制但我时不时打开一个文件并收到以下警告:
因此,Windows 显然知道该文件是以某种方式从互联网上下载的 - 无论是通过标志fileDownloadedFromInternet: true
还是其他我不知道的东西,但这足以让我问一问。
答案1
你的计算机能够判断该文件是使用以下方式从互联网下载的广告或备用数据流,这是 NTFS 文件系统的一项功能。作为 NTFS 功能,如果将相关项目传输到另一个文件系统(例如 USB 上的 FAT),则 ADS 将丢失。对于从互联网下载的文件,文件上会添加 ADS 扩展名,以标识该文件来自互联网的“区域” - 区域定义(至少在 Internet Explorer 中)在 中Internet Options -> Security
。不同的区域意味着文件来自不同的地方(请参阅这里)。
要查看 ADS 的位置,可以使用该Dir /R
命令,其输出类似于以下内容:
Directory of C:\Users\Jacob\Downloads
12/31/2013 09:19 PM <DIR> .
12/31/2013 09:19 PM <DIR> ..
12/31/2013 09:19 PM 0 ads.txt
12/31/2013 09:03 PM 502,784 kitty_portable.exe
26 kitty_portable.exe:Zone.Identifier:$DATA
12/31/2013 09:09 PM <DIR> others
2 File(s) 502,784 bytes
3 Dir(s) 41,975,984,128 bytes free
根据上面的链接,对于从 Internet 下载的文件,ADS 流的内容大致如下,其中区域是浏览器指定的区域。您可以通过运行来查看 ADS 中的内容notepad kitty_portable.exe:Zone.Identifier
,在我的例子中是:
[ZoneTransfer]
ZoneId=3
如图所示这站点有 6 个区域传输 ID,其中 3 是 Internet 区域,如上所示。
现在,当您尝试打开设置了该 ZoneID 的文件时,您会遇到像您提到的那样令人讨厌的提示。但是,有一种方法可以删除它,方法是右键单击文件,转到属性,然后单击底部的“取消阻止”:
这样做的目的是删除附加到文件的 ADS,这样您的计算机就不必再担心打开它了。可以通过Dir /R
在同一目录中执行操作来验证 ADS 是否被删除。您将看到 ADS 现在已经消失了:
Directory of C:\Users\Jacob\Downloads
12/31/2013 10:32 PM <DIR> .
12/31/2013 10:32 PM <DIR> ..
12/31/2013 10:31 PM 502,784 kitty_portable.exe
12/31/2013 10:32 PM 0 output.txt
2 File(s) 502,784 bytes
2 Dir(s) 41,850,904,576 bytes free
全部消失了!基本上,只要您清除 Internet Explorer(或其他浏览器)中的下载,Windows 就不知道该文件来自哪个网站,只知道它来自互联网。如果该文件有与其关联的位置,则很可能已保存在 ADS 中。
答案2
在命令提示符中查看 Zone.Identifier 内容
+1对于可接受的答案,但我想直接从 CMD 提示符查看它。
假设您在当前目录中有一个名为的下载文件example.pdf
,并且假设您的浏览器将此信息存储在Zone.Identifier
与其关联的 ADS 中,请运行以下命令:
更多 <例子.pdf:区域.标识符
示例输出:
[区域传输] 区域编号=3 HostUrl=https://files.website.com/example.pdf