| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1461 人关注过本帖
标题:如何用VB编程监控指定文件夹下指定文件是否新增或修改?
取消只看楼主 加入收藏
kv48
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-7-17
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:5 
如何用VB编程监控指定文件夹下指定文件是否新增或修改?
如何用VB编程监控指定文件夹下指定文件是否新增或修改?

有个flv视频文件会不定时地在C:\temp\pptt.flv中创建,且不同时间创建的文件名均为pptt.flv,也就是说随着时间的推移它会被覆盖,现在我要用VB编一个程序,如果发现这个pptt.flv创建了或修改了就将它复制并更名到
D:\flv\01.flv,下一个文件名为02.flv,以此类推,该如何做?

现在写了一个程序是这样的,但会出现错误70:拒绝的权限。本人初学,请朋友们帮我分析下原因,谢谢!

Private Sub Form_Load()
Timer1.Interval = 3000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Static ft As Date, fn As Long
If Dir("C:\temp\pptt.flv") <> "" Then
    If FileDateTime("C:\temp\pptt.flv") <> ft Then
        ft = FileDateTime("C:\temp\pptt.flv")
        fn = fn + 1
        FileCopy "C:\temp\pptt.flv", "D:\flv\" & Format(fn, "00000") & ".flv"
    End If
End If
End Sub

出现错误70时 点调试,下面这段显黄色: FileCopy "C:\temp\pptt.flv", "D:\flv\" & Format(fn, "00000") & ".flv"
是因为当第二次启动这个小程序时,由于第一次已经产生了文件00001.flv,00002.flv等,再次运行时还是产生文件00001.flv,00002.flv,就会发现文件已经存在(并且可能在使用)于是就出现“拒绝的权限”错误,如何解决?
搜索更多相关主题的帖子: 文件夹 朋友 监控 如何 
2013-07-17 12:56
kv48
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-7-17
收藏
得分:0 
http://h.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=7a14754d42166d2238221d92761325cf/aa64034f78f0f736802cbe870b55b319eac41361.jpg
想发张图上来,怎么找不到地方?
2013-07-17 13:39
kv48
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-7-17
收藏
得分:0 
回复 3楼 风吹过b
能把程序写出来吗?我对VB不太熟悉。谢谢。
2013-07-18 10:23
kv48
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-7-17
收藏
得分:0 
回复 5楼 hjxlj
谢谢您的回复,能把程序写出来吗?谢谢。
2013-07-18 10:24
kv48
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-7-17
收藏
得分:0 
以下是引用风吹过b在2013-7-18 12:41:54的发言:

fn = fn + 1
        FileCopy "C:\temp\pptt.flv", "D:\flv\" & Format(fn, "00000") & ".flv"
 
改为
        fn = fn + 1            '因为你的FN是静态变量,所以每次调用时直接加1就是了,不需要从 1 开始搜索
dim s as string                '定义一个字符串变量
do
   s="D:\flv\" & Format(fn, "00000") & ".flv"        '生成目标文件名
   if dir(s)<>"" then                                '是否存在。  空串表示文件不存在,有内容表示文件存在
      fn=fn+1                                        '文件存在,FN 加 1 ,继续循环
   else
      exit do                      '不存在,则退出循环
   end if
loop
   FileCopy "C:\temp\pptt.flv", s
 
浏览器写的代码,你试试看吧。流程就是这种的。



还是一样的错误70,好像还没有解决。
2013-07-18 14:46
kv48
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-7-17
收藏
得分:0 

经过一天的调试,发现这样能解决问题:在这个语句FileCopy "C:\temp\pptt.flv", "D:\flv\" & Format(fn, "00000") & ".flv"前加入 On Error Resume Next,就能成功了。这是因为当文件刚开始生成但还没有生成完毕时,程序就检测到了并立刻复制,这样就会出错的。解决的办法就是用on error拦截错误.
2013-07-20 22:37
快速回复:如何用VB编程监控指定文件夹下指定文件是否新增或修改?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017552 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved