`
toyota2006
  • 浏览: 550838 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

VB递归遍历目录文件2

阅读更多
   Option Explicit
  Private Const SYNCHRONIZE = &H100000
  Private Const INFINITE = &HFFFFFFFF
  Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function GetExitcodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitcode As Long) As Long

Private Const STATUS_PENDING = &H103&
Private Const sVBPath = "C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe /m "
Private Const sVBFormFolder = "D:\vbsource\HABS\Form"
Dim sSourcePath As String


Private Sub RunShell(cmdline As String)
Dim hProcess As Long
Dim ProcessId As Long
Dim exitCode As Long
ProcessId = Shell(cmdline, 1)
hProcess = OpenProcess(SYNCHRONIZE, False, ProcessId)

  If hProcess <> 0 Then
  WaitForSingleObject hProcess, INFINITE

Call CloseHandle(hProcess)
End If
'MsgBox cmdline & "Closed"
End Sub
'//遍历目录得到vbp 工程文件并编译
Function SearchVbp(sPath)

Dim fso, f, f1, fc, s, ff, ff1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(sPath)
Set fc = f.Files
For Each f1 In fc
'msgbox  InStr(f1.Name, "ABS")
If (LCase(GetFileExtName(f1.Name)) = "vbp") And InStr(f1.Name, "ABS") = 1 Then
  ' If InStr(f1.Name, "ABS") = 1 Then
        MsgBox f1.Path
        MakeDll (f1.Path)
  ' End If
End If
Next
Set ff = f.subFolders
For Each ff1 In ff
SearchVbp (ff1.Path)
Next

End Function

'//得到扩展名
Function GetFileExtName(sFileName)
Dim ipos, ilen
ipos = InStr(sFileName, ".")
ilen = Len(sFileName)
GetFileExtName = Right(sFileName, ilen - ipos)
End Function




Private Sub Command1_Click()
    SearchVbp (sVBFormFolder)
End Sub

'// 编译
Function MakeDll(sVBP)
    RunShell sVBPath & sVBP
End Function
分享到:
评论

相关推荐

    vb.net遍历全盘文件

    它首先列出该目录下的所有文件,然后对每个子目录调用自身,实现递归遍历。 2. **计时功能**:为了了解遍历操作的耗时,我们可以在程序中添加计时功能。可以使用`DateTime.Now`获取当前时间,然后在遍历前后比较,...

    VB遍历指定文件夹内所有文件

    ' 如果目录包含子目录,递归遍历 Dim dirs As String() = Directory.GetDirectories(folderPath) For Each dir In dirs TraverseFolder(dir) ' 递归调用 Next Else Console.WriteLine("文件夹不存在:{0}", ...

    vb 遍历 目录

    在VB(Visual Basic)编程中,遍历目录是一项常见的任务,尤其在处理文件系统操作时。这涉及到访问和处理文件夹及其子文件夹中的文件。本文将深入探讨如何使用VB来遍历目录,并提供相关知识点。 一、VB的...

    VB遍历文件(夹)

    本文将详细介绍如何使用VB来遍历指定目录下的所有文件和子文件夹,并将其信息输出到列表框中。 ### 遍历文件夹的基本原理 遍历文件夹主要涉及以下步骤: 1. 获取指定路径下的所有文件和子文件夹。 2. 对每个文件或...

    vb 高效率遍历全盘文件

    VB是Microsoft开发的一种编程环境,它提供了丰富的库函数和API调用来处理文件系统操作,包括读取、写入、创建、删除文件以及遍历目录。 在描述中提到的“3种方法”,通常包括以下常见的遍历文件系统的方式: 1. **...

    VB遍历文件(代码)

    "VB遍历文件"是VB编程中的一个常见任务,涉及文件系统的操作,比如读取、遍历目录及其子目录下的所有文件。下面将详细解释如何使用VB进行文件枚举。 1. **文件系统对象**: VB提供了File System Object (FSO) 模型,...

    VB 代码遍历文件夹所有文件,速度超快

    本文将基于提供的VB代码片段,深入解析如何使用Visual Basic (VB)来高效地搜索和遍历指定目录下的所有文件及子文件夹中的文件。我们将探讨代码背后的逻辑、关键函数的使用以及如何优化此类操作。 ### 1. 理解代码...

    VB 遍历文件夹及子目录保留时段的删除文件

    以下是一个简单的VB.NET示例代码片段,展示了如何遍历目录并删除过期文件: ```vbnet Imports System.IO Module Module1 Sub Main() Dim rootPath As String = "C:\Your\Path" ' 替换为实际路径 DeleteOldFiles...

    遍历目录下所有文件

    通过这个VB代码示例,我们可以理解如何在实际开发中遍历目录下的所有文件,这在文件管理软件、批处理脚本或其他需要处理大量文件的场景中非常有用。熟练掌握这种技术,将有助于提升你在IT领域的专业能力。

    VB6.0通用选择路径并遍历文件夹及子文件夹.txt

    VB6.0通用遍历所选文件夹及其多重子文件夹操作,直接使用Command按钮过程可以操作,无需其他额外控件。新建一个窗体,添加一个Command1按钮,添加一个listbox控件,名称为list1,打开一个Excel空白文件(如不需要请...

    VB用FSO遍历文件夹操作示例程序.7z

    在这个示例中,`TraverseFolder`函数接收一个文件夹路径,然后递归地遍历所有子文件夹和文件,打印出它们的路径。`GetFolder`方法用于获取指定路径的文件夹对象,而`SubFolders`和`Files`属性则分别返回文件夹内的子...

    一个vb遍历文件夹的代码

    在VB(Visual Basic)编程中,遍历文件夹是一项常见的任务,这通常涉及到对指定目录及其子目录中的所有文件和子文件夹进行迭代。在给定的标题“一个vb遍历文件夹的代码”和描述中,我们可以推断这是一个用VB编写的...

    遍历所有磁盘文件

    1. **DirectoryInfo**:这个类代表一个目录信息,可以获取目录的属性,以及遍历目录中的子目录和文件。 2. **Directory.GetFiles()**:这是一个静态方法,用于获取指定目录下的所有文件。你可以通过提供通配符(如...

    文件遍历-文件清单

    以下是一个简单的Python示例,展示如何遍历目录并生成文件清单: ```python import os def generate_file_list(directory): file_list = [] for filename in os.listdir(directory): path = os.path.join...

    VB源码 文件遍历的例子

    TraverseFolder subFolder.Path ' 递归遍历子目录 Next subFolder End Sub Call TraverseFolder("C:\MyFolder") ``` 除了`FileSystemObject`,VB还提供了`Directory`类(在`.NET Framework`环境下),它可以更...

    VBlist遍历所有文件.zip_VB查找所有文件_equipmentn6t

    2. **遍历目录**: 使用`GetFolder`方法获取指定目录的`Folder`对象,然后可以访问其子目录和文件。例如,遍历`C:`驱动器根目录: ```vb Dim folder As Object Set folder = fso.GetFolder("C:") ...

    遍历磁盘目录.rar

    在Java中,可以利用`java.io.File`类的`list()`或`listFiles()`方法遍历目录,如果需要递归遍历,可以使用递归函数。 遍历目录时,需要注意几个关键点: 1. **权限**:访问某些目录可能需要特定的权限,因此在遍历...

    VB 保存目录到文件

    在VB(Visual Basic)编程中,保存目录到文件是一个常见的任务,这通常涉及到读写操作,文件系统对象的使用以及字符串处理。以下是一些相关的知识点: 1. **文件操作对象**: - `FileSystemObject`:VB中的...

    vb 查找文件内容关键字小程序 递归方法

    这个程序利用了递归算法来遍历文件系统,即在处理一个目录时,如果发现该目录下还有子目录,它会继续深入子目录进行查找,直到遍历完所有级别的文件和子目录。 描述中提到的“查找文件中包含的关键字”,意味着程序...

Global site tag (gtag.js) - Google Analytics