文件系统监控
监视指定文件夹下文件或目录的创建、删除、变更、重命名。1.31.0+ 提供。内部使用 .NET FileSystemWatcher。只要等剪贴板变化,用 等待剪贴板改变。
当前模块定义
sys:fileSystemWatch输入 12 · 输出 4 · 枚举 1
输入参数
- 操作类型
operationEnum必填时间数据来源
等待事件发生默认wait持续监控(事件发生后调用子程序)callback - 文件夹路径
pathText可选要监控的文件夹路径
- 文件筛选
filterText可选筛选要监控的文件。可指定文件名(如foo.txt),或使用通配符(如*.txt)
- 通知筛选
notifyFilterText可选可选,可选值请参考文档。留空表示默认设置(LastWrite,FileName,DirectoryName)。
- 包含子文件夹
includeSubdirectoriesBoolean可选 - 等待的事件
waitEventsText可选 - 等待秒数
waitSecondsNumber可选最长等待时间。0表示不限时间。
- [创建] 处理子程序
createdCallbackText可选文件或文件创建时调用的子程序
- [变更] 处理子程序
changedCallbackText可选文件或文件夹变更时调用的子程序
- [删除] 处理子程序
deletedCallbackText可选文件或文件被删除时调用的子程序
- [重命名] 处理子程序
renamedCallbackText可选文件或文件重命名时调用的子程序
- 失败后停止
stopIfFailBoolean可选失败后是否停止动作
输出参数
- 是否成功
isSuccessBoolean操作是否成功
- 变更的路径
fullPathText发生变更的文件(夹)路径,或重命名后的新路径
- 变更类型
changedTypeText变更类型
- 旧路径
oldFullPathText重命名时的原始路径
概述
两种工作方式:等到事件后再继续后续步骤;或持续监控,事件发生后调用子程序(动作会停在本步骤)。
文件系统监控
参数说明
操作类型:等待事件发生、持续监控(事件发生后调用子程序)。
文件夹路径:要监控的文件夹。
包含子文件夹:是否监控子文件夹。默认开启。
文件筛选:对应 FileSystemWatcher.Filter。可用 *、?。
- 所有带后缀文件:
*.*(不含无后缀文件) - 所有文件或子文件夹:留空
- 某类文件:
*.txt(不支持*.txt|*.doc这种多筛选) - 特定名字:
MyDoc.txt、*recipe.doc、win*.xml、销售*202?.xlsx
通知筛选:对应 NotifyFilter,英文逗号连接:Attributes、CreationTime、DirectoryName、FileName、LastAccess、LastWrite、Security、Size。留空表示 LastWrite,FileName,DirectoryName。
失败后停止:失败是否中止动作。默认开启。
等待事件发生
类似等待剪贴板:目录里出现预期事件后再继续。
等待的事件:created、deleted、changed、renamed,逗号连接,如 created,deleted。默认 created。
等待秒数:最长等待时间。0 表示不限时。
输出:变更的路径、变更类型、旧路径(重命名时的原路径)。
持续监控
动作停在本步骤,后续步骤不会运行。请备好停止动作的快捷键。
文件系统监控
[创建] 处理子程序 / [变更] 处理子程序 / [删除] 处理子程序 / [重命名] 处理子程序:填写要监控的事件对应的子程序名;留空表示不监控该事件。多个事件可以共用同一个子程序。
回调子程序的输入变量:
ChangeType:Changed/Created/Deleted/RenamedFullPath/Name:发生事件的路径和名称(重命名时为改后的)- 重命名额外:
OldFullPath、OldName

需要手动停止监控时,可再启动本动作并传入特定参数(如 shutdown),在动作开头判断后 停止其它实例:
运行或停止动作
运行或停止动作
输出
- 是否成功
- 等待模式下还有 变更的路径、变更类型、旧路径。
示例
限制与排障
网络盘、部分同步盘可能漏事件或连发。筛选不要写多个 | 条件。持续监控时后续步骤不会执行,停止请用快捷键或「停止其它实例」。
相关链接
更新于