vb點虐 目錄文件 vba 文件目錄

vb點虐 搜索子目錄下的文件

vb點虐 編程查找搜索指定目錄下面的所有文件和其子目錄下的文件,方法如下:

10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有川匯免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

''=============================================

''名稱:?FindPath

''作用:?查找搜索指定目錄下面的所有文件和其子目錄下的文件

''參數(shù):strPath?要查找的目錄,

''strFiles?用于存查找結(jié)果的緩沖區(qū),String?類型的動態(tài)數(shù)組,調(diào)用時事先初始化,?如Redim?strFiles(0)

''FileCount?用于返回文件個數(shù)

''=============================================

Public?Sub?FindPath(ByVal?strPath?As?String,?strFiles()?As?String,?FileCount?As?Long)

Dim?strDirs()???As?String

Dim?strResult???As?String

Dim?FileLimit???As?Long

Dim?dirLimit????As?Long

Dim?dirCount????As?Long

Dim?I???????????As?Long

FileLimit?=?UBound(strFiles)?+?1

dirLimit?=?0

If?Right$(strPath,?1)??"/"?Then?strPath?=?strPath??"/"

strResult?=?Dir(strPath,?vbDirectory?+?vbSystem?+?vbReadOnly?+?vbHidden?+?vbNormal?+?vbArchive)

Do?While?Len(strResult)??0

If?strResult??"."?And?strResult??".."?Then

If?(GetAttr(strPath??strResult)?And?vbDirectory)??vbDirectory?Then

If?FileCount?=?FileLimit?Then

ReDim?Preserve?strFiles(FileLimit?+?10)

FileLimit?=?FileLimit?+?10

End?If

strFiles(FileCount)?=?strPath??strResult

FileCount?=?FileCount?+?1

Else

If?dirCount?=?dirLimit?Then

ReDim?Preserve?strDirs(dirLimit?+?10)

dirLimit?=?dirLimit?+?10

End?If

strDirs(dirCount)?=?strPath??strResult

dirCount?=?dirCount?+?1

End?If

End?If

strResult?=?Dir(,?vbDirectory?+?vbSystem?+?vbReadOnly?+?vbHidden?+?vbNormal?+?vbArchive)

Loop

For?I?=?0?To?dirCount?-?1

Call?FindPath(strDirs(I),?strFiles,?FileCount)

Next?I

End?Sub

VB.NET2010 如何復(fù)制指定目錄下按類型的所有文件到另一文件夾 復(fù)制后再刪除原來的文件?

這段代碼的問題是:

首先for each循環(huán)在files里查找文件對象,但是f變量聲明為string了,無法讓它獲取對象;

然后file.copy的變量file沒有任何聲明,也沒有初始化賦值等;

最后,整個for each循環(huán)里查找集合files的文件,由于初始化的循環(huán)計數(shù)器仍然按照最初設(shè)定的文件數(shù)目向后遞增(文件地址),但是實際文件刪除一部分,后續(xù)的文件位置就不能跟循環(huán)計數(shù)指針匹配了,所以默認為查找不到文件,將會報錯。一般的做法時把復(fù)制和刪除分別放在2次循環(huán)里,第一次只復(fù)制文件,第二次才去刪除。

VB.NET獲取目錄文件夾名稱

先用System.IO.Directory.GetDirectories函數(shù)獲取子目錄的名稱(包括其路徑),再用System.IO.Path.GetFileName獲取子目錄的名稱。下面是代碼:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

For Each s In System.IO.Directory.GetDirectories("C:\Windows")

Console.WriteLine(System.IO.Path.GetFileName(s))

Next

End Sub

下面是部分輸出:

Application Data

AppPatch

assembly

BOCNET

Boot

Branding

ConfigSetRoot

Cursors

Debug

DigitalLocker

Downloaded Installations

Downloaded Program Files

ehome

en-US

Fonts

Globalization

Help

...

可能有更簡潔的方法,你可以到MSDN看看

System.IO.Directory.GetDirectories:

System.IO.Path.GetFileName:

通用 I/O 任務(wù):

vbnet如何判斷目錄下增加了文件

首先我們得判斷文件/目錄是否存在然后獲取文件信息(創(chuàng)建時間)。有文件的獲取時間了,就可以知道這個文件的創(chuàng)建時間,就能判斷目錄的文件是什么時候增加的,那么離自己最近的時間創(chuàng)建的的文件就是目錄的增加文件了。

判斷文件/目錄是否存在

Try ? ? ? ? ? ?' 先判斷文件是否存在。 ? ? ? ? ? ?If Not File.Exists(TextBox4.Text) Then

File.CreateText(TextBox4.Text) '單純創(chuàng)建文件一般不常用,正常情況下是創(chuàng)建文件然后進行讀寫操作

'System.IO.File.Create(TextBox4.Text) ? ? ? ? ? ?End If

Catch ex As Exception

MessageBox.Show(ex.Message)

Exit Sub

End Try

獲取文件信息(創(chuàng)建時間)?FileDateTime(fii(i).FullName)? ? ?File.GetCreationTime(path)

System.IO.File.Create(Path)'創(chuàng)建文件

System.IO.File.CreateText(Path)'創(chuàng)建文件

System.IO.File.Copy(Path,targetPath) ? ? ?'復(fù)制到新位置,不允許覆蓋現(xiàn)有文件 ? ? ? ?也可以'FileCopy(TextBox4.Text, "C:" "\" file_name(UBound(file_name))) System.IO.File.Move(SourceFileName, DestFileName)

System.IO.File.Delete(Path)

'追加 System.IO.File.AppendText'替換

System.IO.File.Replace

當(dāng)前標(biāo)題:vb點虐 目錄文件 vba 文件目錄
轉(zhuǎn)載注明:http://www.muchs.cn/article44/ddipohe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站關(guān)鍵詞優(yōu)化、外貿(mào)建站網(wǎng)站制作、品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化