参考https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/c54dec26-1551-4d3a-a0ea-4fa40f848eb3

交换数据流(Alternate Data Stream, ADS)是NTFS文件系统特性之一,一个文件可以有多个流,平时读写的是主数据流,其他流其实没太大区别。

下面通过实验演示:

假设存在abc文件夹,其下有123.txt和xyz.txt两个空文件

image-20210101175516359

执行命令

1
2
echo abc > 123.txt
echo def > 123.txt:xyz.txt

用记事本查看两个文件,会发现仅123.txt有数据为abc,

执行Dir/R可以看到多出来了一个名为123.txt:xyz.txt:$DATA的文件,

image-20210101175454095

此文件用notepad无法直接打开,在命令行执行

1
2
3
set /p t= < 123.txt:xyz.txt
echo %t%
rem 输出def

可得到输出def

123.txt:xyz.txt可作为普通文件读写,在文件管理器中隐藏。