# 起源
在浏览器下载文件并打开时,你是否经常遇到以下情况:
# 说明
这是由于微软的一个古老的设计 ——ADS (Alternate Data Streams),简称 备用数据流
或者 交换数据流
。
edge 等浏览器在下载文件时,会给下载文件附加 ADS,从而让系统识别这是浏览器下载的文件,提示用户。
但是有时候确实会让用户感到麻烦(反正我是挺烦的
这种数据流只存在于 NTFS 系统,所以当你复制文件到 U 盘(当为 FAT 系统)后这种数据流就无法被复制,再打开时就不会提示了。
# 解决方法
# 法一
一个比较笨的方法是:
- 复制到 U 盘后再复制回系统。
- 或者专门创一个 FAT 类型的下载盘。
# 法二
参考 https://blog.nsfocus.net/ntfs-alternate-data-streams/
在 powershell 内输入:
# 获取隐藏数据流 | |
Get-Item -Path YOUR_DOWNLOAD_FILE -Stream *| Where-Object Stream -ne ':$DATA' | Format-Table Filename,Stream,Length | |
# 删除隐藏数据流 | |
Remove-Item -Path YOUR_DOWNLOAD_FILE -Stream Zone.Identifier |
进行对隐藏数据流的查找与删除
此时你可以进行正常打开而不会有任何提示了
# 法三
有原理,就有解决方案。
-
使用微软提供的 streams:
https://learn.microsoft.com/en-us/sysinternals/downloads/streams -
AlternateStreamView
AlternateStreamView 主页 | AlternateStreamView 下载链接 |
---|---|
https://www.nirsoft.net/utils/alternate_data_streams.html | 64 位:https://www.nirsoft.net/utils/alternatestreamview-x64.zip |
32 位:https://www.nirsoft.net/utils/alternatestreamview.zip |