TipsMake.com-默认情况下,每次您通过浏览器从 Internet 下载任何文件到您的计算机时,Windows 操作系统都会注意到该文件包含组件这可能对系统有害。 当我们打开该文件时,根据具体格式,Windows 将继续显示用户确定要激活该文件的通知。 那么哪种机制可以帮助 Windows 识别和分类每种类型的文件,我们可以删除此功能吗?
Windows 在哪里存储从 Internet 下载的消息?
为了测试,我们将比较从微软的XML Notepad 2007安装文件复制的两个数据文件。虽然名称不同(后面有数字 1 和 2),但是根据 MD5 识别的方法可以看出这两个文件完全一样:
但是,当文件1工作时,Windows会显示如下信息:
而文件2不满足这种情况
基本原因是文件1具有称为Zone.Identifier的备用数据流(ADS)机制,该机制存储了有关该文件来源的信息,而文件2没有这个属性。使用Sysinternals Streams进行分析,我们可以看到文件XmlNotepad1.msi包含ADS信息,26字节数据, XmlNotepad2.msi 没有此信息。而这就是区别,因为Windows就是靠这个来判断从网上下载的文件的来源:
也可以通过命令确认ADS:
dir/r [optional_file_filter]
如何删除这些信息?
Windows 之所以显示这样的公告板纯粹是有目的的,但如果您知道并绝对确定下载的来源,您可以删除这些通知以避免不便.
在上一节中,我们展示了如何从命令行确定 ADS 信息,但您仍然可以根据文件的 General 选项卡删除此消息:
如上图,点击取消屏蔽按钮删除消息
另一方面,如果我们有多个文件并且还想删除通知,我们可以使用 Streams 实用程序。打开命令提示符并指向文件存储文件夹,或直接进入该文件夹然后按住 Shift 并右键单击 ,从显示的菜单中选择 在此处打开命令窗口:
然后,输入命令:
streams-s-d.
上述命令会删除当前目录及子目录下整个数据文件的所有ADS信息(不仅是Zone.Identifier)。在本次测试中,我们有 2 个文件包含 ADS 数据并且是成功的。
如何将从网上下载的信息分配给任意文件?
此信息存储在 ADS Zone.Identifier 部分并应用于所有数据文件。例如,如果您想将此类信息分配给文件 XmlNotepad1.msi,请执行以下操作。
首先,运行命令:
记事本[文件名]:Zone.Identifier
因为这部分ADS信息还没有,Windows会要求我们创建。选择是:
在记事本中,输入以下信息:
[ZoneTransfer]
ZoneId=3
保存更改到文件并关闭记事本:
现在,当我们运行文件 XmlNotepad1.msi 或查看 Properties 部分中的信息时,旧通知将被替换。并且同样的方法可以应用于许多其他文件格式,例如MP3、DOC、CHM。祝你成功!
评论