fileListDir
Version 24.3.9111
fileListDir
列出指定路径中的文件和目录。
必需的参数
- path: 将列出其目录和文件的完全限定路径(例如,
/tmp/mydirectory
)。
可选的参数
- mask:用于过滤结果条目的模式。 默认为
*
。 例如,掩码*.json
匹配所有具有.json
扩展名的文件。 - recurse:是否递归列出条目。 允许的值为
false
和true
。 默认为false
。 - fileordir:是否仅列出文件或目录。 允许的值为
all
、files
和dirs
。 默认为all
。
输出属性
- file:fullname: 当前条目中文件或目录的完整路径。
- file:name: 当前条目中文件或目录的名称。
- file:mtime: 当前条目中文件或目录的写入时间。
- file:ctime: 当前条目中文件或目录的创建时间。
- file:atime: 最近一次读取或写入当前条目中的文件或目录的时间。
- file:attributes: 当前条目中文件或目录的属性列表。
- file:extension: 条目的扩展名。
- file:size: 文件大小,以字节为单位。
- file:isdir: 条目是文件还是目录。
示例
<!-- 设置对输入项进行监听的路径 -->
<arc:set attr="input.path" value="/tmp/timesensitive" />
<!-- 启用递归检查输入路径内的所有子目录 -->
<arc:set attr="input.recurse" value="true" />
<!-- 仅检查操作找到的所有目录中的文件 -->
<arc:set attr="input.fileordir" value="files" />
<!-- 调用操作并传入输入项并设置输出项 -->
<arc:call op="fileListDir" in="input" out="result" >
<!-- 执行一个表达式来检查每个目录中每个文件的创建日期 -->
<arc:if exp="[result.file:ctime | dateadd('day', 1) | datediff | lessthan(0)]" >
<!-- 如果超过 1 天,则在应用程序日志中记录一个条目 -->
<!-- 可以扩展以添加更多逻辑,例如使用 appSendEmail 发送电子邮件 -->
<arc:set attr="_log.info" value="位于 [result.file:fullname] 的文件 [result.file:name] 在 [input.path] 内闲置时间超过 1 天。" />
</arc:if>
</arc:call>