NTFS备用数据流

今天我看到这个奇怪的魔法NTFS系统支持:每个文件可以有多个数据流。基本上可以有一个0b大小的文件a.txt,但是在该文件的单独数据流中可以隐藏任何数量的字节。这是严格的NTFS相关的魔法,我没有看到有这些流的任何高贵的理由。您可以借助Sysinternals的streams实用程序来查找NTFS流。这将告诉你,基本上每个这些讨厌的thumbs.db文件都附带一个额外的数据流。

好的,现在我已经在Windows NT4系统上看到了这个神奇的工作,添加到文件中的流,被复制,删除(在上述实用程序的帮助下),但是我现在在我的Win XP系统上尝试这个,但是尽管我可以检测现有的流,我不能显示他们的内容,不能创建新的,或者当我使用文件名:streamname语法的时候,什么都没有。

我得到这个错误:

The filename,directory name,or
volume label syntax is incorrect.

例:
来自流实用程序的输出:

c:\DOWNLOADS>streams.exe -s .

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\DOWNLOADS\1013.pdf:
   :Zone.Identifier:$DATA       46

c:\DOWNLOADS>type 1013.pdf:Zone.Identifier
The filename,or volume label syntax is incorrect.

为什么我不能显示备用数据流的内容?

看看Microsoft的“How To Use NTFS Alternate Data Streams”文档,我可以看到这适用于我的操作系统,尽管他们提到这些流将来不会被支持。任何人都可以看出这一点吗?

从我的头顶: NTFS datastreams在Windows NT 4.0中引入,并已经在所有后代(不包括win-95后裔:98,我)。在XP,Vista和Win 7中,他们还在。只要Windows版本支持NTFS,它们将支持文件流。他们会支持NTFS很长时间。

您的错误在您在问题中显示的页面上有所描述。 type命令不明白流。使用:

more < 1013.pdf:Zone.Identifier

使用流

微软只有少数能够使用流的命令,实际上只有<>使用流,因此只能使用可以与这些重定向操作符一起使用的命令。我写了一个couple of blog posts on alternate datastreams,你如何仍然可以使用这些命令来操纵流。

Streams将只适用于旨在与他们合作的程序,因为它们需要特别处理(比较连接点,也是NTFS的一个功能,但驱动程序隐藏细节和程序不需要做任何特别的事情:他们只要考虑连接点一个真实的文件)。

当您尝试使用起始文件名:streamname打开一个文件流,一个程序表示类似“非法文件名”或“找不到文件”,并且您确信流名称正确,那么该程序很可能不支持流。我注意到记事本,写字板和Word / Excel与流动正常工作,尽管Word和Excel认为这些文件是危险的。这是some experiments你可以尝试。

注意:您似乎认为备用数据流奇怪。他们很奇怪,因为它们是隐藏的,但许多主要的文件系统(HFS,NSS)拥有它,概念可以追溯到80年代初。实际上,最初将这些流添加到NTFS,以便与其他文件系统进行互操作。

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...