资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

监视文件夹vb.net的简单介绍

vb.net监控路径上的任一文件夹,当重命名时触发事件。

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

团风网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

FileSystemWatcher1.NotifyFilter = IO.NotifyFilters.DirectoryName Or IO.NotifyFilters.FileName‘监控文件夹和文件。

FileSystemWatcher1.IncludeSubdirectories = True’监控子文件夹

End Sub

Private Sub FileSystemWatcher1_Renamed(sender As Object, e As IO.RenamedEventArgs) Handles FileSystemWatcher1.Renamed

MsgBox(e.FullPath vbCrLf e.Name)

End Sub'捕获新路径

你监控test不就好了,若要排除其他文件夹,IncludeSubdirectories 设为假,用多个FileSystemWatcher就行了,用数组或其他方式创建。

求关于VB监视一个文件夹的代码

楼主你好,我测试了一下OK的,想了挺长时间的

代码如下

控件.filelistbox

Dim

sua

As

Integer

'sua是存放上次的文件数的,所以必须为通用,静态,不然会丢失

Private

Sub

Form_Load()

File1.FileName

=

App.Path

"\"

"新建文件夹"

'这里写你的那个什么数据库的地址

For

i

=

To

File1.ListCount

-

1

'循环我就不说了吧

If

Right(File1.List(i),

4)

=

".txt"

Then

sua

=

sua

+

1

'在加载的时候

先算出文件夹里德文件数,这是sua的第一次赋值(即文件夹文件数)

Next

i

End

Sub

Private

Sub

监视_Click()

File1.Refresh

'每次按下去

都要先刷新一次,因为这样的话就可以更新文件数了

For

i

=

To

File1.ListCount

-

1

If

Right(File1.List(i),

4)

=

".txt"

Then

s

=

s

+

1

'这里是算出

后缀是.txt的文件数

Next

i

If

s

sua

Then

MsgBox

"文件更新了"

'判断

文件数是否

大于上一次的,,第一次按下按钮的时候

上一次

就是加载时候的文件数啦~

sua

=

s

'在判断后

将s(这次的文件数)赋值给sua

那么在下次的上一句里sua

值就是

你这次的

值啦(储存s)

End

Sub

如果有什么问题的话

hi我好了

我想用vb 监控 某个文件夹下的文件是否有变化,如果出现了变化,进行报警并显示内容???

若只是监视文件夹下的 文件数目、名称是否有改变的话 很容易。若要检测文件夹下文件内容是否被改动,就需要检测所有文件的修改日期了。先来个检测文件夹下名称、数量的吧。

在VB中要实现查找文件功能,我们可以利用VB的DIR函数进行递归来实现。每次使用DIR函数后,比较是否有要查找的文件,再检查是否有子目录,若有,利用递归继续查找,这样可对整个盘进行查找。

下面是一个例子,查找DOS目录下的所有EXE文件,统计EXE文件的数目并列出文件名。本程序会查找当前路径下的所有文件和子目录,与WIN95的“包含子文件夹”的查找功能类似。

程序与注释如下:

1.在窗体中加一命令按钮Command1,Caption=查找示例,双击此按钮,写如下代码:

Private Sub Command1_Click()

Dim ff() As String '定义一个字符串数组用来保存找到的文件名称

Dim fn As Long '保存找到的文件数目

fn=TreeSearch("C:%%dos","*.exe",ff())

Print "找到文件数目为" fn

For I=1 To fn

Print ff(I)

Next

End Sub

2.插入一模块Modulel.bas,写如下代码:

Option Explicit

Public Function TreeSearch(ByVal sPath As String,ByVal sFileSpec As String,sFiles() As String) As Long

Static 1Files As Long '文件数目

Dim sDir As String

Dim sSubDirs() As String '存放子目录名称

Dim 1Index As Long

If Right(sPath,1)"%%" Then sPath=sPath "%%"

sDir=Dir(sPath sFileSpec)

'获得当前目录下文件名和数目

Do While Len(sDir)

1Files=1Files+1

ReDim Preserve sFiles(1 To 1Files)

sFiles(1Files)=sPath sDir

sDir=Dir

Loop

'获得当前目录下的子目录名称

1Index=0

sDir=Dir(sPath "*.*",16)

Do While Len(sDir)

If Left(sDir,1)"." Then 'skip.and..

'找出子目录名

If GetAttr(sPath sDir)And vbDirectory Then

1Index=lIndex+1

'保存子目录名

Redim Preserve sSubDirs(1 To 1Index)

sSubDirs(1Index)=sPath sDir "%%"

End If

End If

sDir=dir

Loop

For 1Index=1 To 1Index

'查找每一个子目录下文件,这里利用了递归

Call TreeSearch(sSubDirs(1Index),sFileSpec,sFiles())

Next 1Index

TreeSearch=1Files

End Function

3.保存文件,按F5运行,单击命令按钮即可。

vb中如何实现监控制定某文件夹下文件的变化

'首先先引用Microsoft Scripting RunTime

'放置3个timer控件,依次命名为timer1,timer2,timer_time

'将下面代码放到代码框中。

Dim size_a As Long, size_b As Long, time_5 As Integer

Dim fso1 As New FileSystemObject

Dim folder1 As Folder

Private Sub Form_Load()

Set folder1 = fso1.GetFolder("d:\samples") '文件夹的位置,根据自己的修改

Print folder1.Size, time_5

Timer1.Interval = 1

Timer2.Interval = 2

Timer_time.Interval = 9999

End Sub

Private Sub Timer_time_Timer()

time_5 = time_5 + 10

If time_5 = 300 Then

Shell "d:\play.exe" '文件的位置,根据自己的修改

Shell "d:\sendmail.exe" '文件的位置,根据自己的修改

End If

End Sub

Private Sub Timer1_Timer()

Set folder1 = fso1.GetFolder("d:\samples") '文件夹的位置,根据自己的修改

size_a = folder1.Size

If size_b size_a Then time_5 = 0

End Sub

Private Sub Timer2_Timer()

Set folder1 = fso1.GetFolder("d:\samples") '文件夹的位置,根据自己的修改

size_b = folder1.Size

End Sub

vb.net 用FileSystemWatcher监视文件变化,文件变化时如何获得所变化的文件名。

Private WithEvents fw As IO.FileSystemWatcher

Private Shared Sub OnChanged(source As Object, e As IO.FileSystemEventArgs) Handles fw.Changed '更改指定路径中的目录和文件时引发该事件

MsgBox(e.Name)

End Sub

菜鸟请教:vb中如何实现监控硬盘中某文件夹的变化

思路:

添加Timer控件,设置计时时间,调用Dir函数使用循环语句遍历目录,计算目录文件总数.

当计时器被触发时,调用Dir函数使用循环语句遍历目录,计算目录文件总数,与先前的计算总数对比,如果一样则报警.

源码:

Dim i As Integer '要监控目录下文件的总数

Private Sub Form_Load()

Timer1.Enabled = True '开始计时

Timer1.Interval = 3000 '设置为3秒

If Len(Dir("c:\")) 0 Then i = 1 '设置要监控的目录

Do While True '计算要监控目录下的文件总数

If Len(Dir()) 0 Then

i = i + 1

Else

Exit Do

End If

Loop

End Sub

Private Sub Timer1_Timer()

Dim x As Integer '计算要监控目录下现在的文件总数

If Len(Dir("c:\")) 0 Then x = 1

Do While True

If Len(Dir()) 0 Then

x = x + 1

Else

Exit Do

End If

Loop

If i = x Then

MsgBox ("没有新文件") '比较是否发生变化,没有变化提示

Else

i = x '如果文件总数有变化,那么监控下一个时间段是否有变化.

End If

End Sub


分享文章:监视文件夹vb.net的简单介绍
链接分享:http://cdkjz.cn/article/hochcp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220