Windows cli相当于Mac`xattr`?

时间:2017-09-27 22:48:01

标签: windows command-line filesystems ntfs fuse

我认为Windows支持的NTFS中存在扩展文件属性。我找不到用于访问/更新属性的cmd。

是否有支持此功能的Windows(及其文件系统)?

我尝试了setfattrattrib和其他一些命令。 .container也不是。

如果扩展属性要在文件系统中保持可移植性(即使是在FUSE中实现的虚拟属性),那么所有目标平台都需要在用户空间(cmd或cmd集)中显示api。

2 个答案:

答案 0 :(得分:1)

最接近UNIX attrib的是EA:NTFS stores partition metadata称为扩展属性(EA),它允许将数据存储为文件或文件夹的属性。

例如,EA are used by IE用于将文件标识为已从网络下载"。

来自维基百科:

  

在Windows NT上,支持有限长度的扩展属性   FAT,HPFS和NTFS。这是作为OS / 2的一部分实现的   子系统。它们特别被Interix的NFS服务器使用   POSIX子系统为了实现类Unix的权限。该   Windows 10周年更新中添加了适用于Linux的Windows子系统   将它们用于类似目的,存储Linux文件模式,所有者,   设备ID(如果适用)和扩展中的文件时间   属性。另外,NTFS可以存储无限长度的扩展   替代数据流(ADS)形式的属性,一种类型   资源分叉。文件管理器Total Commander的插件,如NTFS   描述和QuickSearch扩展支持过滤   文件列表或搜索ADS Streams中包含的元数据。 Ref.

如果你想做一些安全相关的事情,你想看看自由访问控制列表(DACL)功能; http://www.windowsecurity.com/articles/Understanding-Windows-NTFS-Permissions.html

Powershell可以帮助setting the mode and extended file and folder attributes - 但不幸的是,这只适用于常规属性(不是EA)。

我在3G-Fuse source中找到了与NTFS attrib相关的内容,可能会有所帮助。但是,我怀疑这是真的portable

答案 1 :(得分:0)

这是一个 GitHub 存储库,其中包含一个允许操作 EA 的工具:https://github.com/jschicht/EaTools - 这显然使用 NtCreateFileNtSetEaFile 来设置和修改它们。

(我还专门询问了 .NET API 以实现跨平台工具:.NET: How to set "extended file attributes" in a cross-platform way? - 目前没有这样的 API。)