跳到主要内容

文件系统监控

监视指定文件夹下文件或目录的创建、删除、变更、重命名。1.31.0+ 提供。内部使用 .NET FileSystemWatcher。只要等剪贴板变化,用 等待剪贴板改变

当前模块定义

sys:fileSystemWatchWindows系统Action
标准模块
输入 12 · 输出 4 · 枚举 1

输入参数

  • 操作类型operationEnum必填

    时间数据来源

    填写 固定输入默认 wait
    等待事件发生默认wait
    持续监控(事件发生后调用子程序)callback
  • 文件夹路径pathText可选

    要监控的文件夹路径

    填写 输入或变量
  • 文件筛选filterText可选

    筛选要监控的文件。可指定文件名(如foo.txt),或使用通配符(如*.txt)

    填写 输入或变量默认 *.*
  • 通知筛选notifyFilterText可选

    可选,可选值请参考文档。留空表示默认设置(LastWrite,FileName,DirectoryName)。

    填写 输入或变量
  • 包含子文件夹includeSubdirectoriesBoolean可选
    填写 固定输入默认 true
  • 等待的事件waitEventsText可选
    填写 输入或变量条件 仅:wait默认 created
  • 等待秒数waitSecondsNumber可选

    最长等待时间。0表示不限时间。

    填写 输入或变量条件 仅:wait默认 0.0
  • [创建] 处理子程序createdCallbackText可选

    文件或文件创建时调用的子程序

    填写 输入或变量条件 仅:callback
  • [变更] 处理子程序changedCallbackText可选

    文件或文件夹变更时调用的子程序

    填写 输入或变量条件 仅:callback
  • [删除] 处理子程序deletedCallbackText可选

    文件或文件被删除时调用的子程序

    填写 输入或变量条件 仅:callback
  • [重命名] 处理子程序renamedCallbackText可选

    文件或文件重命名时调用的子程序

    填写 输入或变量条件 仅:callback
  • 失败后停止stopIfFailBoolean可选

    失败后是否停止动作

    填写 固定输入默认 true

输出参数

  • 是否成功isSuccessBoolean

    操作是否成功

  • 变更的路径fullPathText

    发生变更的文件(夹)路径,或重命名后的新路径

    条件 仅:wait
  • 变更类型changedTypeText

    变更类型

    条件 仅:wait
  • 旧路径oldFullPathText

    重命名时的原始路径

    条件 仅:wait

概述

两种工作方式:等到事件后再继续后续步骤;或持续监控,事件发生后调用子程序(动作会停在本步骤)。

文件系统监控

监控文件创建/变更/删除等事件。
操作类型
时间数据来源
文件夹路径
 
要监控的文件夹路径
文件筛选
*.*
筛选要监控的文件。可指定文件名(如foo.txt),或使用通配符(如*.txt)
通知筛选
 
可选,可选值请参考文档。留空表示默认设置(LastWrite,FileName,DirectoryName)。
等待的事件
created
等待秒数
0.0
最长等待时间。0表示不限时间。
是否成功
-- 选择变量 --
操作是否成功
变更的路径
-- 选择变量 --
发生变更的文件(夹)路径,或重命名后的新路径
变更类型
-- 选择变量 --
变更类型
旧路径
-- 选择变量 --
重命名时的原始路径

参数说明

操作类型:等待事件发生、持续监控(事件发生后调用子程序)。

文件夹路径:要监控的文件夹。

包含子文件夹:是否监控子文件夹。默认开启。

文件筛选:对应 FileSystemWatcher.Filter。可用 *?

  • 所有带后缀文件:*.*(不含无后缀文件)
  • 所有文件或子文件夹:留空
  • 某类文件:*.txt(不支持 *.txt|*.doc 这种多筛选)
  • 特定名字:MyDoc.txt*recipe.docwin*.xml销售*202?.xlsx

通知筛选:对应 NotifyFilter,英文逗号连接:AttributesCreationTimeDirectoryNameFileNameLastAccessLastWriteSecuritySize。留空表示 LastWrite,FileName,DirectoryName

失败后停止:失败是否中止动作。默认开启。

等待事件发生

类似等待剪贴板:目录里出现预期事件后再继续。

等待的事件createddeletedchangedrenamed,逗号连接,如 created,deleted。默认 created

等待秒数:最长等待时间。0 表示不限时。

输出:变更的路径变更类型旧路径(重命名时的原路径)。

持续监控

动作停在本步骤,后续步骤不会运行。请备好停止动作的快捷键。

文件系统监控

监控文件创建/变更/删除等事件。
操作类型
时间数据来源
文件夹路径
path
要监控的文件夹路径
文件筛选
*.*
筛选要监控的文件。可指定文件名(如foo.txt),或使用通配符(如*.txt)
通知筛选
 
可选,可选值请参考文档。留空表示默认设置(LastWrite,FileName,DirectoryName)。
[创建] 处理子程序
OnCreated
文件或文件创建时调用的子程序
[变更] 处理子程序
OnChanged
文件或文件夹变更时调用的子程序
[删除] 处理子程序
OnDeleted
文件或文件被删除时调用的子程序
[重命名] 处理子程序
OnRenamed
文件或文件重命名时调用的子程序
是否成功
isSuccess
操作是否成功

[创建] 处理子程序 / [变更] 处理子程序 / [删除] 处理子程序 / [重命名] 处理子程序:填写要监控的事件对应的子程序名;留空表示不监控该事件。多个事件可以共用同一个子程序。

回调子程序的输入变量:

  • ChangeTypeChanged / Created / Deleted / Renamed
  • FullPath / Name:发生事件的路径和名称(重命名时为改后的)
  • 重命名额外:OldFullPathOldName

需要手动停止监控时,可再启动本动作并传入特定参数(如 shutdown),在动作开头判断后 停止其它实例

运行或停止动作

执行指定的其他动作
类型
操作类型
目标动作
xxx目录监控
要运行的其他动作的ID或名称(使用名称时需要完全匹配且不能有重名动作)
命令参数
shutdown
传递给目标动作的参数。存储在该动作的quicker_in_param变量中。

运行或停止动作

执行指定的其他动作
类型
操作类型

输出

  • 是否成功
  • 等待模式下还有 变更的路径变更类型旧路径

示例

文件监控示例
获取资源管理器路径/跳转路径{path}
提示消息$$开始监控 {path}
文件系统监控持续监控(事件发生后调用子程序){path}
注释开始监控后将会停在上面一步。结束动作将停止监控。

限制与排障

网络盘、部分同步盘可能漏事件或连发。筛选不要写多个 | 条件。持续监控时后续步骤不会执行,停止请用快捷键或「停止其它实例」。

相关链接

更新于