UiPath使用Invoke Code活动获取最近24小时修改文件的实现问询
代码调整方案
你需要将原来的Take(40)数量限制替换为针对LastWriteTime的时间筛选条件,同时修复原代码中MsgBox行缺失的右括号问题,调整后完整代码如下:
Dim myDirectory As New IO.DirectoryInfo("C:\MyFolder") ' 筛选过去24小时内修改的文件,可按需求调整时间区间 Dim myFiles() As String = myDirectory.GetFiles() _ .Where(Function(x) x.LastWriteTime >= DateTime.Now.AddHours(-24)) _ .OrderByDescending(Function(x) x.LastWriteTime) _ .Select(Function(x) x.FullName) _ .ToArray() MsgBox(String.Join(Environment.NewLine, myFiles))
关键说明
- 核心筛选逻辑为
Where(Function(x) x.LastWriteTime >= DateTime.Now.AddHours(-24)),会自动匹配所有最后修改时间距离当前时间不超过24小时的文件,没有数量上限限制。 - 如果需要同时匹配「创建时间在24小时内」的新增文件,可将Where条件修改为:
.Where(Function(x) x.LastWriteTime >= DateTime.Now.AddHours(-24) OrElse x.CreationTime >= DateTime.Now.AddHours(-24)) - 若需要在UiPath中将结果传递给后续活动使用,可提前在UiPath变量面板定义一个
String[]类型的变量(例如命名为RecentFiles),在Invoke Code活动中直接将结果赋值给该变量即可,无需调用MsgBox:RecentFiles = myDirectory.GetFiles() _ .Where(Function(x) x.LastWriteTime >= DateTime.Now.AddHours(-24)) _ .OrderByDescending(Function(x) x.LastWriteTime) _ .Select(Function(x) x.FullName) _ .ToArray()
内容的提问来源于stack exchange,提问作者mouny
相关产品推荐
相关产品推荐

