问题标签 [alternate-data-stream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ntfs - NTFS 备用数据流使用情况
我们可能正在寻找如何在 Windows 操作系统上识别文本文件的不同版本的解决方案 - 没有支持版本控制的文件属性(例如 2.0、2.1 等),但使用 ADS 将允许我们编写,例如,文件中替代流的版本信息。我的问题是,这是否适合使用 ADS,还是有我们不应该这样做的缺点或原因?我一直在使用此链接上的信息来玩 ADS - https://blog.codefluententities.com/2013/03/14/manipulating-ntfs-alternate-data-streams-in-c-with-the-codefluent -运行时客户端/
windows - 备用数据流文件在 Windows 10 上消失
我正在使用备用数据流 (ADS) 元数据在 Windows 10 上试验一种奇怪的行为。我从 Internet 下载了一个可执行文件,当它被下载到 NTFS 分区时,它的相应 ADS 文件被标记为Zone 3。
当我尝试运行它时,Windows 会警告我文件出处,至少它发生在 Windows 7、8 和 8.1 上。预期的行为是什么。
在 Windows 10 上发生了一些奇怪的事情。当我尝试运行它时,第一次尝试时,Windows 会删除此 ADS 文件,并且不会警告我有关文件出处的信息。由于此文件不再存在,因此在以后的运行中不会发出警告。这种行为出现在我能够尝试的所有 Windows 10 上(大约 5 个)。
这是正常行为吗?如果我需要警告,是否可以启用它?
更新:使用Process Monitor我能够检测到Explorer.exe打开 ADS 文件Delete Desire Access,这会产生文件删除。这样一来,我现在的问题应该是:为什么Explorer.exe会删除ADS文件?有可能避免吗?
更新 2:我发现这个问题在我收到警告的 Windows 10 版本 1607 上无法重现。它存在于版本 1703 上。
来自 Process Monitor 的相关行
完整的日志在这里。时间不会太长。
windows - 从文件句柄或文件 ID 打开备用数据流 (ADS)
我想使用文件的现有句柄或文件 ID 打开文件的备用数据流。我找到的唯一方法是使用全名(文件名 + ADS 名称)。我害怕文件在操作过程中被重命名。
有没有办法做到这一点?
windows - 使用 Powershell 阻止文件
我想用 Powershell 阻止(而不是取消阻止)一个文件。我想让 Windows 相信磁盘上的文件是从 Internet 下载的,或者存在任何其他导致文件被阻止的情况。我需要这个来测试我正在开发的某些软件在存在被阻止文件的情况下的行为。
alternate-data-stream - 访问隐藏的数据流
一旦你发现了一个隐藏的数据流,你如何访问它?我正在使用 Windows,我在 C:documents\file7.txt:hiddensecret.txt 中找到了该文件。
完成新手培训谢谢。
filesystems - NTFS 更改日志 - 文件更改跟踪
我正在开发一个更改跟踪软件来监视特定卷的文件。我尝试了 FileSystemWatcher (.NET) 和 AlternateDataStreams,但它们都有一些限制(即,更改跟踪软件必须 24/7,备用数据流不能用于 ReadOnly 文件等)。
经过一番调查,我认为我可以直接阅读 NTFS 更改日志。如果在同一卷上移动/重命名文件等,这将非常有用。为了识别文件,我使用了文件参考号。
但是如果文件被移动到另一个卷,文件参考号自然会改变。
我的问题:是否有一个唯一的 ID(GUID 或其他东西)即使文件移动到另一个卷也不会改变?
powershell - 通过右键单击文件运行 GUI powershell 脚本
我使用 GUI .net 框架构建了一个 powershell 脚本,该框架为用户提供了一个图形界面,可以将备用数据流 (ADS) 添加到 NTFS 文件系统上的文件中。
下面是我为 powershell 脚本编写的代码:
目前,用户必须从根文件夹实际运行 powershell 脚本,然后将文件路径添加到 GUI 的文本输入中,以及其余的扩展属性。我目前拥有的一个例子如下:
我希望用户能够右键单击任何文件并让表单提供在 Windows 资源管理器中右键单击的文件的路径,而不是由个人手动输入的路径进行更新到备用数据流。类似于使用 zip7 提取文件的方式(下面的示例)。
有人可以告诉我这是否可能吗?我应该尝试用另一种语言而不是使用 powershell 来解决这个问题吗?
powershell - Powershell - 列出一个目录中的所有备用数据流信息
我的最终目标是 cd 到 powershell 中的一个目录,然后列出所有备用数据流文件,然后将它们的所有内容输出到 CSV。
我目前已经编写了前两部分的脚本:
要打开示例数据流文件,请打开 cmd,cd 到一个目录,然后运行:
在此之后,获取其中一个文件的区域标识名称并在不带 :$data 的情况下运行此命令。
删除前的示例:$Data
删除后(运行此命令):
我将如何获取第二个命令的输出并使用 PSPath 字段打开每个文件,然后将所有内容输出到一个 CSV 文件中?
任何帮助是极大的赞赏。
go - 如何使用 go 访问和修改备用数据流 (ADS)
如何使用 golang 访问和修改存储在 NTFS 备用数据流中的元数据?
我已经知道https://github.com/pkg/xattr用于访问存储在 linux 下的扩展属性中的元数据。但是,我需要 NTFS 的类似功能。