fortypoundhead.com

Change the Extension of Files in a Specified Folder

Posted On 2007-05-03 by FortyPoundHead
Keywords:
Tags: VB6 Miscellaneous 
Views: 1780


This function will allow you to change the extension of files within a specified folder. You can either change the name of all files, or files with a specified extension. A reference to the Scripting Runtime is required. See code comments for details and example.

Public Function ChangeExtension(ByVal FolderName As String, ByVal NewExtension As String, Optional ByVal OldExtension As String = "") As Boolean

    Dim oFso As New FileSystemObject
    Dim oFolder As Folder
    Dim oFile As File
    Dim sOldName As String
    Dim sNewName As String
    Dim iCtr As Long
    Dim iDotPosition As Integer
    Dim sWithoutExt As String
    Dim sFolderName As String

    sFolderName = FolderName
    If Right(sFolderName, 1) <> "\" Then sFolderName = sFolderName & "\"

    Set oFolder = oFso.GetFolder(FolderName)
    For Each oFile In oFolder.Files

        sOldName = sFolderName & oFile.Name
        sNewName = ""
        iDotPosition = InStrRev(sOldName, ".")
        If iDotPosition > 0 Then
            If OldExtension = "" Or UCase(Mid(sOldName, iDotPosition + 1)) = UCase(OldExtension) Then

                sWithoutExt = Left(sOldName, iDotPosition - 1)
                sNewName = sWithoutExt & "." & NewExtension

                On Error Resume Next ''file may already exist
                ' if you don''t want to let this slide, remove this line
                Name sOldName As sNewName

                Err.Clear
                On Error GoTo ErrorHandler

            End If

        End If

    Next

    ChangeExtension = True

End Function

ErrorHandler:
Set oFile = Nothing
Set oFolder = Nothing
Set oFso = Nothing


About the Author

FortyPoundHead has posted a total of 1974 articles.

 


Comments On This Post

No comments on this post yet!


Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.


Your IP address is:54.161.91.76

Before you can post, you need to prove you are human. If you log in, this test goes away.




Recent Forum Posts

Advanced search added
dwirch posted on September 23, 2017 at about 13:44 in Site News

Job Spammer: Gaurav Mehta - AgreeYa Solutions
dwirch posted on September 22, 2017 at about 10:35 in Spammers

Job Spammer: Prutha Siri - Javelin Systems
dwirch posted on September 10, 2017 at about 6:15 in Spammers

New security implemented
dwirch posted on September 7, 2017 at about 7:16 in Site News

Malicious IP Checker Companion Tool
dwirch posted on August 12, 2017 at about 20:24 in Site News

Job Spammer: Steve Adams
dwirch posted on August 8, 2017 at about 7:44 in Spammers