> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 文件格式化器

> ArcScript 中用于处理文件路径、名称、扩展名和文件系统元数据的格式化器。

## 常用文件格式化器

以下格式化器是最常用的文件格式化器。每个格式化器都提供了一个示例供参考。

<Note>某些格式化器的可选参数周围的方括号不是必需的；它们仅用于表示该参数是可选的。</Note>

### fileext()

返回指定文件的文件扩展名。

#### 示例

```xml theme={null}
<arc:set attr="myFile" value="[FilePath]" />
<arc:if exp="[myFile | fileext() | equals('.err')]">
  <arc:throw code="1" desc="Error file detected." />
</arc:if>
```

### fullpath()

返回指定文件或文件夹的绝对路径。

#### 示例

```xml theme={null}
<arc:set attr="myFile.relativepath" value="../test.xml" />
<arc:set attr="myFile.absolutepath" value="[myFile.relativepath | fullpath()]" />
```

## 其它文件格式化器

下面列出了上一节未包含的不太常用的格式化器。

### directory()

返回由文件夹路径指定的目录名称。

### direxists(\[ifexist]\[, ifnotexist])

如果指定路径上的文件夹存在，此格式化器会返回 *true*（或作为 *ifexist* 传入的值）；否则返回 *false*（或作为 *ifnotexist* 传入的值）。

* **ifexist**：如果目录存在，则返回的可选值。
* **ifnotexist**：如果目录不存在，则返回的可选值。

### filectime()

返回指定文件的创建时间。

### fileexists(\[ifexist]\[, ifnotexist])

如果指定路径上的文件存在，此格式化器会返回 *true*（或作为 *ifexist* 传入的值）；否则返回 *false*（或作为 *ifnotexist* 传入的值）。

* **ifexist**：如果文件存在，则返回的可选值。
* **ifnotexist**：如果文件不存在，则返回的可选值。

### filemtime()

返回指定文件的最后修改时间。

### filename()

返回指定文件的文件名。

### filesize()

返回指定文件的文件大小。

### getcwd()

返回当前工作目录。传入此格式化器的属性会被忽略，因此通常使用默认项 `_` 作为输入。例如：`[_ | getcwd()]`。

### ischild(path\[, ifchild]\[, ifnotchild])

如果 *path* 参数是属性值所表示路径的子路径，则返回 *true*（或 *ifchild*）；否则返回 *false*（或 *ifnotchild*）。

* **path**：要与属性值所表示的路径进行比较的路径。
* **ifchild**：如果参数值是属性值所表示路径的子路径，则返回的可选值。
* **ifnotchild**：如果参数值不是属性值所表示路径的子路径，则返回的可选值。

### pathcombine(path)

组合两个路径字符串。

* **path**：要与属性值所表示的路径组合的路径。

### rootpath()

返回指定路径的根目录。

### tofilename()

将属性值转换为有效的文件名。用下划线 (`_`) 替换无效字符。
