请问:我要判断一台电脑中某个文件或文件夹是否存在,事先不知道在哪个路径下。
类似于windows系统中的搜索“文件或文件夹”,该怎么写?
类似于windows系统中的搜索“文件或文件夹”,该怎么写?
解决方案 »
- VB 怎么提取字符串中的字节
- 如何提取 網頁 中的文字連接網址 (網址在js 中)
- 小问题
- 关于VC和中文VB的兼容问题
- 求教:msflexgrid中单元格的数字相加减,得出奇怪的结果
- 在OLE 控件里面,放入一个word对象,然后在程序运行时,就可以双击ole 控件, 然后就可以在里面像操作word 一样地操作,
- 菜鸟求教,急~!数据库查询语句在adodc.recordsource=()中怎么写啊?
- 我想读取一个给定路径下所有.wav格式的文件的文件名,应该怎么做?
- 大家帮帮忙。看看这个是什么错误。
- 怎样使数据库中的单精度数以固定小数位显示或打印出来?
- 请教如何使用DataRepeater控件的问题?
- 如何 查找 定位access数据
Option Explicit
Dim FileSys As Scripting.FileSystemObjectPrivate Sub CmdExit_Click()
End
End SubPrivate Sub DriveList_Change()
FolderList.Path = DriveList
End SubPrivate Sub Form_Load()
Dim I As Integer
Set FileSys = New Scripting.FileSystemObject
FolderList.Path = Left(DriveList.Drive, 2) & "\"
With FileList.ColumnHeaders.Item(1)
.Alignment = lvwColumnLeft
.Text = "文件名"
.Width = 2000
End With
With FileList.ColumnHeaders.Item(2)
.Alignment = lvwColumnRight
.Text = "大小(KB)"
.Width = 1500
End With
With FileList.ColumnHeaders.Item(3)
.Alignment = lvwColumnLeft
.Text = "类型"
.Width = 1500
End With
With FileList.ColumnHeaders.Item(4)
.Alignment = lvwColumnLeft
.Text = "路径"
.Width = 2000
End With
With FileList.ColumnHeaders.Item(5)
.Alignment = lvwColumnLeft
.Text = "修改时间"
.Width = 2000
End With
End SubPrivate Sub Form_Unload(Cancel As Integer)
Set FileSys = Nothing
End SubPrivate Sub cmdSearch_Click()
Dim SFolderStart As Scripting.Folder
Set SFolderStart = FileSys.GetFolder(FolderList.Path)
FileList.ListItems.Clear
AddFiles SFolderStart
If FileList.ListItems.Count = 0 Then MsgBox _
"没找到任何符合条件的文件!",vbOKOnly + vbInformation, "提示信息"
End SubPrivate Sub AddFiles(SFolderSearch As Scripting.Folder)
Dim SFolder As Scripting.Folder
Dim SFile As Scripting.File
Dim sngFileSize As Single
Dim lngSize As Long
Dim Itm As ListItem
If SubCheck.Value = 1 Then
If SFolderSearch.SubFolders.Count Then
For Each SFolder In SFolderSearch.SubFolders
AddFiles SFolder
Next SFolder
End If
End If
sngFileSize = FileSize * 1000
For Each SFile In SFolderSearch.Files
With SFile
If .Size >= sngFileSize And IIf(FileName.Text < > "", _
InStr(.Name, FileName.Text) > 0, True) Then
Set Itm = FileList.ListItems.Add(Text:=.Name)
lngSize = .Size / 1000
With Itm
.SubItems(1) = Format(lngSize, "#,###")
.SubItems(2) = SFile.Type
.SubItems(3) = SFile.ParentFolder
.SubItems(4) = SFile.DateLastModified
End With
End If
End With
Next SFile
Set Itm = Nothing
Set SFolder = Nothing
End Sub
运行后,选择相应目录,再在FileName文本框中输入要查找的文件名或文件名的一部分,然后再在FileSize文本框中输入文件的大小,按下搜索按钮即可搜索到相应文件。当然,这只是个功能较为简单的文件搜索器,有兴趣的读者可以使用Scripting.FileSystemObject对象的属性为其添加一些更为有用的功能。