10 个稳定版本
2.0.3 | 2024年1月18日 |
---|---|
2.0.1 | 2024年1月17日 |
1.1.8 | 2024年1月15日 |
0.1.0 |
|
0.0.0 |
|
#363 in 文件系统
47KB
1K SLoC
keypropdecode
一个用于解码 Windows 文件系统元素属性的库。
由于 Windows 将这些属性存储为数字,并且每个属性都存储在该数字的确定位中,解码它可能会导致代码膨胀。
这个库旨在解决这个问题。您可以用不同的目的使用这个 crate
- 您可以使用实现了 From 特质的
u32
,并返回一个带有对应属性的 Props 实例。 - 您可以使用
PathBuf
或其引用,并使用 TryFrom 特质,您不需要提取相应的属性。您也可以提供一个有效的&str
。 - 当属性设置正确时,您可以得到您设置的属性的对应
u32
。该库将确保您不会设置无效状态 - 结构体的
Display
实现返回一个与 PowerShell 中使用GetChild-Item
打印的相同的String
,这是最常用的。
有关所有文件系统元素属性的详细信息,请参阅 Microsoft 文件属性常数文档。
该库的实现使用枚举来确保无效状态无法表示。
强烈建议:如果您不知道属性的作用,不要更改它。
示例
use keypropdecode::Props;
let mut props = Props::default();
props.change_element_type(ArcDir::Archive(ArchiveProps::default()));
assert_eq!(Props::try_from(r"hidden_file_example.txt").unwrap(), props);