![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
vb 判断文件是否存在并获取文件路径
我要判断d盘的所有文件夹是否有123.exe文件,如果有这个文件就获取这个文件的路径,用VB6.0代码如何写啊。...
我要判断d盘的所有文件夹是否有123.exe文件,如果有这个文件就获取这个文件的路径,用VB6.0代码如何写啊。
展开
3个回答
展开全部
使用VB菜单:[工程] -- [引用] -- ,勾选:Microsoft Scriptiong Runtime,[确定]
在窗体上添加1个文本框,设置MultiLine 属性为True,ScrollBars 属性为3-Both
添加1个按钮:
代码如下,复制即可用:
Option Explicit
Private nnnn As Integer
Private MyFile As String
Private Sub Command1_Click()
nnnn = 0
MyFile = ""
OutFile "D:\", "123.exe"
Text1.Text = MyFile
MsgBox "一共找到:" & nnnn & " 个文件"
End Sub
'递归过程--返回指定文件夹下的指定文件
Private Sub OutFile(ByVal MyFolder As String, ByVal MyFileName As String)
Dim fs, f, f1, s, sf, f2, mf
Dim L As Integer '寻找的文件名长度
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(MyFolder)
Set sf = f.SubFolders
For Each f1 In sf
OutFile f1, MyFileName
Next
L = Len(MyFileName)
Set mf = f.Files
For Each f2 In mf
If Right(f2, L) = MyFileName Then
nnnn = nnnn + 1
MyFile = MyFile & f2 & vbCrLf
End If
Next
End Sub
在窗体上添加1个文本框,设置MultiLine 属性为True,ScrollBars 属性为3-Both
添加1个按钮:
代码如下,复制即可用:
Option Explicit
Private nnnn As Integer
Private MyFile As String
Private Sub Command1_Click()
nnnn = 0
MyFile = ""
OutFile "D:\", "123.exe"
Text1.Text = MyFile
MsgBox "一共找到:" & nnnn & " 个文件"
End Sub
'递归过程--返回指定文件夹下的指定文件
Private Sub OutFile(ByVal MyFolder As String, ByVal MyFileName As String)
Dim fs, f, f1, s, sf, f2, mf
Dim L As Integer '寻找的文件名长度
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(MyFolder)
Set sf = f.SubFolders
For Each f1 In sf
OutFile f1, MyFileName
Next
L = Len(MyFileName)
Set mf = f.Files
For Each f2 In mf
If Right(f2, L) = MyFileName Then
nnnn = nnnn + 1
MyFile = MyFile & f2 & vbCrLf
End If
Next
End Sub
追问
如何把查找到的文件路径添加到text1.text里面啊
追答
按照上面说的做,没有问题.
结果放到文本框语句:
Text1.Text = MyFile
展开全部
用 API中的文件路径判断函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Option Explicit
Dim fso As Object
Private Sub Command1_Click()
Dim path As String, p
path = "d:\"
path = IIf(Right(path, 1) = "\", Left(path, Len(path) - 1), path)
If fso.FolderExists(path) = True Then getsubfolderfils (path)
MsgBox "ok!"
End Sub
Private Sub Form_Load()
Set fso = CreateObject("Scripting.FileSystemObject")
End Sub
Function getsubfolderfils(path As String)
Dim p, f, s As String
On Error Resume Next
For Each f In fso.GetFolder(path).Files
If LCase(f.Name) = "123.exe" Then Print path & "\" & f.Name
DoEvents
Next
For Each p In fso.GetFolder(path).subfolders
getsubfolderfils path & "\" & p.Name
DoEvents
Next
End Function
Dim fso As Object
Private Sub Command1_Click()
Dim path As String, p
path = "d:\"
path = IIf(Right(path, 1) = "\", Left(path, Len(path) - 1), path)
If fso.FolderExists(path) = True Then getsubfolderfils (path)
MsgBox "ok!"
End Sub
Private Sub Form_Load()
Set fso = CreateObject("Scripting.FileSystemObject")
End Sub
Function getsubfolderfils(path As String)
Dim p, f, s As String
On Error Resume Next
For Each f In fso.GetFolder(path).Files
If LCase(f.Name) = "123.exe" Then Print path & "\" & f.Name
DoEvents
Next
For Each p In fso.GetFolder(path).subfolders
getsubfolderfils path & "\" & p.Name
DoEvents
Next
End Function
追问
如何把查找到的文件路径添加到text1.text里面啊
追答
text1先设置成多行
If LCase(f.Name) = "123.exe" Then Print path & "\" & f.Name修改一下:
If LCase(f.Name) = "123.exe" Then text1=text1 & path & "\" & f.Name & vbnewline
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询