使用备用数据流发送文件?

使用备用数据流发送文件?

我得到了 .vbs 文件,其中用记事本添加了备用数据流。有没有办法将它发送给某人而不会丢失它。我试图寻找答案,但似乎备用数据流无法移动到另一台设备。对吗?

答案1

它们可以移动如果工具知道需要移动它们。

(例如,大多数程序在复制或存档文件时已经保留了“修改时间”属性,但那是因为它们程序要做到这一点——它不会自动发生,程序必须特意查找原始文件的修改时间,然后在副本上设置相同的时间。)

大多数程序并不关心传输备用流 - 例如,没有标准格式通过 HTTP 下载带有附加流的文件(与 MacOS Classic 曾经拥有的 AppleDouble 和 MacBinary 完全不同)。

但是例如文件归档器将它们存储在存档中,它只是程序的一部分——WinRAR 有一个选项可以在创建 .rar 存档时存储备用流,我认为 7-Zip 也是如此,DISM(用于安装 Windows 的工具)也会在 .wim 映像文件中保留备用流。当然,如果你移动所有的NTFS 文件系统,所有文件都将随之移动,包括流。

因此选项如下:

  • 使用 USB 闪存驱动器或其他 NTFS 格式化的介质,将文件复制到那里(标准 Windows 文件管理器将复制所有流),然后发送整个驱动器。

  • 使用 SMB 文件共享(由 Windows 托管,或由启用了 vfs_streams_xattr 模块的 Samba 托管)。

  • 用于diskmgmt.msc创建一个小型虚拟磁盘映像(.vhdx 文件),使用 NTFS 对其进行格式化,将文件复制到那里,然后通过电子邮件将 .vhdx 文件发送给任何人。如果他们使用的是 Windows 10,他们将能够将 .vhdx 附加到他们的系统上并从中复制文件。

  • 使用 WinRAR 创建 .rar 存档,并确保启用添加备用流的选项,然后发送 .rar 存档。(确保收件人也使用 WinRAR 进行提取。)

答案2

这完全取决于你所说的“发送”是什么意思。发送文件的不同方法将传输不同数量的数据和元数据。

例如,将文件上传到网站将删除其大部分元数据,如创建和修改日期,基本上只留下主流中的数据(没有 ADS)和文件名。

另一方面,将文件复制到不同的文件系统可能会或可能不会保留元数据,这取决于相关的文件系统和您要使用的工具的功能。

您可以将文件复制到 NTFS 格式的闪存驱动器,确保 ADS 已保存,然后使用蜗牛邮件将其邮寄给您的朋友。这绝对算作发送文件,尽管它可能不符合您的需求。

大多数(如果不是全部)在线工具都不会发送 ADS。

答案3

作为@user1686 答案的补充:

  • 使用7-Zip它的-sns选项将 .VBS 文件及其 ADS 放入 WIM 容器(例如7z a a.wim -sns *.vbs)并发送该容器文件。就像使用 WinRAR 一样,您可以在 7-Zip 的 GUI 中使用 ADS 打包、解包甚至浏览文件。
    也可以压缩容器 WIM,但需要第二步。

相关内容