我想用vb監控某個資料夾下的檔案是否有變化,如果出現了變

時間 2021-10-18 02:06:32

1樓:匿名使用者

若只是監視資料夾下的 檔案數目、名稱是否有改變的話 很容易。若要檢測資料夾下檔案內容是否被改動,就需要檢測所有檔案的修改日期了。先來個檢測資料夾下名稱、數量的吧。

在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執行,單擊命令按鈕即可。

2樓:匿名使用者

在vs裡用 filesystemwatcher 控制元件

vb.net 用filesystemwatcher監視檔案變化,檔案變化時如何獲得所變化的檔名。

3樓:風中的奶牛

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

vb6如何快速取得資料夾下的全部檔名

用dirlist和filelist控制元件,很容易實現的。vb怎樣獲取電腦中所有資料夾名稱?vb 獲取目錄所有檔名 1 首先,在電腦上開啟vb6.0屬性視窗,新建一個exe工程視窗。2 然後,就能在這裡看到幫組檔名一欄。這時,就能在這裡按下這個三點進行選擇檔案。3 接下來就可以這個幫組檔案的視窗。4...

求批處理 批量刪除指定資料夾下的多個指定資料夾及檔案

用rmdir命令配合 s和 q s 除目錄本身外,還將刪除指定目錄下的所有子目錄和檔案。用於刪除目錄樹。q 安靜模式,帶 s 刪除目錄樹時不要求確認rmdir s q d d 網路 我rmdir s q d d 網路 上下rmdir s q d d 網路 上下025 bb石俊傑 自己修改用吧 ech...

我有資料夾,資料夾裡面是100多個格式的文章,現在我像把這些格式的文章全部複製到excel裡

可以給你做一個。hi 我 txt 複製到 word,然後套用 然後轉到excel 如何將100個格式一樣的txt檔案批量excel 裡呢?跑求. 錄製一個巨集 全程操作一遍匯入的過程 結束錄製 然後把 裡面的檔名字改了,就能自動再做一次。如果名字有規律,寫個迴圈結構,把檔名字做變數,每次修改,就能批...