新文件判断

xiao_Wind 2006-05-08 08:54:38
请问高手:
在一个文件夹中,大概6分钟左右会有一个以日期为文件名的文件产生,例2006012305.10,表示2006年1月23日5时10分,不过这个文件是在5时16分前后产生的,这个6分钟是不确定的,现在问题是:怎么用程序来判断这个文件夹中有一个新文件产生
...全文
125 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao_Wind 2006-05-10
  • 打赏
  • 举报
回复
程序通过
我将上面的语句放在Timer事件中,时间为1分钟,事件触发时,myFile=Dir("C:\myDir\*.*")句找到的第一个文件是一样的(,假设为2006051000.09A)。当过了24小时之后有大约240个文件,假设最新的文件是2006051100.09A,那么要查到这个最新文件就要做大约239次无用循环,时间再长就有更多无用功了,请问有没有办法记住上次搜索结果,每次只查一次呢
of123 2006-05-08
  • 打赏
  • 举报
回复
如果要处理:

Dim lastFile As String
Dim myFile As String
Dim hasNew As Boolean

hasNew = False
myFile = Dir("C:\myDir\*.*")

Do Until myFile = ""
If myFile > lastFile Then
lastFile = myFile
hasNew = True
End If
myFile = Dir
Loop

If Not hasNew Then Exit Sub
'在这里处理文件

迈克揉索芙特 2006-05-08
  • 打赏
  • 举报
回复
用shell hook,具体的在网上搜索一下资料吧。
xiao_Wind 2006-05-08
  • 打赏
  • 举报
回复
to of123
刚回复时 时间过长,

我试下你的程序看看
xiao_Wind 2006-05-08
  • 打赏
  • 举报
回复
关键是我还要对这个新文件进行操作呢,所以还要确切地知道是哪个文件
其实这个程序B是24小时工作的,当一个新文件C产生后(是另一个程序A生成),B就对C进行操作
of123 2006-05-08
  • 打赏
  • 举报
回复
用一个变量保存最新文件名:

Dim lastFile As String
Dim myFile As String

myFile = Dir("C:\myDir\*.*")

Do Until myFile = ""
If myFile > lastFile Then
lastFile = myFile
MsgBox "有新文件:" & lastFile
End If
myFile = Dir
Loop
鲫鱼跃龙门 2006-05-08
  • 打赏
  • 举报
回复
最直接的方法就是判断文件数量的变化。

间隔一段时间搜索一次该文件夹中有多少文件,保存当前文件数量。

当数量增加时,说明有新文件产生了。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧