vb点虐 目录文件 vba 文件目录

vb点虐 搜索子目录下的文件

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

10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有川汇免费网站建设让你可以放心的选择与我们合作。

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

''名称: FindPath

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

''参数:strPath 要查找的目录,

''strFiles 用于存查找结果的缓冲区,String 类型的动态数组,调用时事先初始化, 如Redim strFiles(0)

''FileCount 用于返回文件个数

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

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 如何复制指定目录下按类型的所有文件到另一文件夹 复制后再删除原来的文件?

这段代码的问题是:

首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;

然后file.copy的变量file没有任何声明,也没有初始化赋值等;

最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。

VB.NET获取目录文件夹名称

先用System.IO.Directory.GetDirectories函数获取子目录的名称(包括其路径),再用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 任务:

vbnet如何判断目录下增加了文件

首先我们得判断文件/目录是否存在然后获取文件信息(创建时间)。有文件的获取时间了,就可以知道这个文件的创建时间,就能判断目录的文件是什么时候增加的,那么离自己最近的时间创建的的文件就是目录的增加文件了。

判断文件/目录是否存在

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

File.CreateText(TextBox4.Text) '单纯创建文件一般不常用,正常情况下是创建文件然后进行读写操作

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

Catch ex As Exception

MessageBox.Show(ex.Message)

Exit Sub

End Try

获取文件信息(创建时间) FileDateTime(fii(i).FullName)     File.GetCreationTime(path)

System.IO.File.Create(Path)'创建文件

System.IO.File.CreateText(Path)'创建文件

System.IO.File.Copy(Path,targetPath)      '复制到新位置,不允许覆盖现有文件        也可以'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


标题名称:vb点虐 目录文件 vba 文件目录
标题来源:http://ybzwz.com/article/ddipohe.html