> For the complete documentation index, see [llms.txt](https://chaoses-ib.gitbook.io/directory-opus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chaoses-ib.gitbook.io/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/fileattr.zh.md).

# FileAttr

**FileAttr** 对象用于简化文件属性的处理。与其将属性视为字符字符串或数字，它提供了可独立设置或查询的每个属性的属性。可以使用 [**FSUtil**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/fsutil.zh.md)**.NewFileAttr** 方法创建新的 **FileAttr** 对象。**FileAttr** 对象也作为 [**Format**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/format.zh.md) 和 [**Item**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/item.zh.md) 对象属性返回。

每个属性由两个属性表示：单个字符（例如 **a**）及其完整名称（例如 **archive**）。如果设置了属性，则每个属性返回 **True**，否则返回 **False**。对于您自己创建的 **FileAttr** 对象，您还可以设置这些属性的值（然后，例如，使用 [**File**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/file.zh.md)**.SetAttr** 方法将属性应用于文件）。

&#x20;

| 属性名称                   | 返回值类型    | 描述                                                                         |
| ---------------------- | -------- | -------------------------------------------------------------------------- |
| *\<default value>*     | *string* | 返回表示已设置属性的字符串（类似于文件列表中 *Attr* 列中显示的格式）。                                    |
| <p>a<br>archive</p>    | *bool*   | 一个文件或目录，其中包含需要压缩包的更改。A 位通常在新文件或修改的文件上设置，然后在备份软件将更改添加到备份后，可能会被清除。           |
| <p>c<br>compressed</p> | *bool*   | 一个已压缩的文件或目录。对于文件，文件中的所有数据都已压缩。对于目录，压缩是新创建的文件和子目录的默认值。                      |
| <p>e<br>encrypted</p>  | *bool*   | 一个已加密的文件或目录。对于文件，文件中的所有数据流都已加密。对于目录，加密是新创建的文件和子目录的默认值。                     |
| <p>h<br>hidden</p>     | *bool*   | 该文件或目录是隐藏的。它不会包含在普通的目录列表中。                                                 |
| <p>i<br>nonindexed</p> | *bool*   | 该文件或目录不会被内容索引服务索引。                                                         |
| <p>o<br>offline</p>    | *bool*   | 文件的​​数据不可立即获得。此属性表示文件数据已物理移动到脱机存储。此属性由远程存储使用，远程存储是分层存储管理软件。应用程序不应该随意更改此属性。 |
| <p>p<br>pinned</p>     | *bool*   | 文件的​​数据将始终保持可用；它不应该被卸载到脱机存储。                                               |
| <p>r<br>readonly</p>   | *bool*   | 一个只读文件。应用程序可以读取文件，但不能写入或删除它。此属性不适用于目录。                                     |
| <p>s<br>system</p>     | *bool*   | 操作系统使用或专门使用的文件或目录。                                                         |

| 方法名称     | **参数**                               | 返回值类型    | 描述                                                        |
| -------- | ------------------------------------ | -------- | --------------------------------------------------------- |
| Assign   | \*object:\***FileAttr\\** 或 *string* | none     | 将新属性集分配给此对象。您可以传递另一个 **FileAttr** 对象或字符串（例如 *"hsr"*）。     |
| AttrName | *string*                             | *string* | 给定表示属性的单个字符（例如 *"a"*），此方法返回属性在用户当前语言中的名称（例如 *"Archive"*）。 |
| Clear    | \*object:\***FileAttr\\** 或 *string* | none     | 清除（关闭）此对象中的指定属性。您可以传递另一个 **FileAttr** 对象或表示要关闭的属性的字符串。    |
| Set      | \*object:\***FileAttr\\** 或 *string* | none     | 设置（打开）此对象中的指定属性。您可以传递另一个 **FileAttr** 对象或表示要打开的属性的字符串。    |
| ToString | none                                 | none     | 返回表示已设置属性的字符串（类似于文件列表中 *Attr* 列中显示的格式）。                   |
