繁体   English   中英

如何遍历目录中的所有文件

[英]How to loop through all the files in a directory

我的查询是如何遍历特定文件夹中的所有文件?

我有vba代码片段,该片段删除了“ .b64”文件的第一行和最后一行。 我想使用特定文件夹中的所有“ .b64”文件来完成相同的任务。 有人可以帮助我调整此代码以使其循环吗?

这是一个代码...


Sub delline()

Dim objFSO As Object
Dim objStream As Object
Dim sLines
Dim iNumberOfLines
Dim i

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objStream = objFSO.OpenTextFile("C:\Testing\test1.b64", 1)
sLines = Split(objStream.ReadAll, vbCrLf)
objStream.Close

iNumberOfLines = UBound(sLines)

If iNumberOfLines > 2 Then
    Set objStream = objFSO.OpenTextFile("C:\Testing\test1.b64", 2)
    For i = 1 To iNumberOfLines - 2
        objStream.WriteLine sLines(i)
    Next
    objStream.Close
End If

Set objStream = Nothing
Set objFSO = Nothing


End Sub

谢谢! 插口

您可以使用Dir功能。 举个例子:

ChDir "C:\MyDir"
nextfile = Dir("*.b64")
While (nextfile <> "")
    delline nextfile
    nextfile = Dir()
Wend

并声明delline

Sub delline(filename)

由于您已经在使用FileSystemObject ...

Dim oFile as File
Dim oFolder as Folder
If objFSO.FolderExists(<Your Path>) Then
    Set oFolder = objFSO.GetFolder(<Your Path>)
    For Each oFile In oFolder.Files
        ... YOUR CODE

    Next
End If

您还可以在FSO中使用已声明的选项,如下所示。

Sub dellineallfilesinafolder()

Dim objFSO As Object
Dim objStream As Object
Dim objFil As Object ' File Object
Dim sLines
Dim iNumberOfLines
Dim i

Set objFSO = CreateObject("Scripting.FileSystemObject")

For Each objFil In objFSO.GetFolder("C:\Testing").Files
    If LCase(objFSO.GetExtensionName(objFil.Path)) = "b64" Then
        Set objStream = objFSO.OpenTextFile(objFil.Path, 1)
        sLines = Split(objStream.ReadAll, vbCrLf)
        objStream.Close

        iNumberOfLines = UBound(sLines)

        If iNumberOfLines > 2 Then
            Set objStream = objFSO.OpenTextFile(objFil.Path, 2)
            For i = 1 To iNumberOfLines - 2
                objStream.WriteLine sLines(i)
            Next
            objStream.Close
        End If
    End If
Next objFil

Set objStream = Nothing
Set objFil = Nothing
Set objFSO = Nothing


End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM