The second method is to use VBA. I've posted some sample code below:
Sub BatchRenameFiles(strDir As String, strOldExt As String, strNewExt As String)
Dim strFilename As String
If Right(strDir, 1) <> "\" Then
strDir = strDir & "\"
End If
'- Call the dir function with arguments
strFilename = Dir(strDir & "*." & strOldExt)
Do While strFilename <> ""
Name strDir & strFilename As _
strDir & Left(strFilename, Len(strFilename) - 3) & strNewExt
'- Call the dir function again without arguments to get
'- the next file
strFilename = Dir
Loop
End Sub
Call the sub like this:
Call BatchRenameFiles("C:\temp","dat","old")