Dim setpath setpath = "C:\foo" Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(setpath) Call RenameForCheckedFiles(objFolder, "foo.gif", ".gif") sub RenameForCheckedFiles(folder, rBeforeStr, rAfterStr) For Each targetFile In folder.Files IF CheckOfFileType(targetFile.Path ,rBeforeStr) THEN targetFile.Name = RepStringEnd(targetFile.Name, rBeforeStr, rAfterStr) END IF Next For Each targetSubFolder In folder.SubFolders RenameForCheckedFiles targetSubFolder , rBeforeStr, rAfterStr Next end sub function RepStringEnd(targetStr, patternStr, replaceStr) patternStr = patternStr & "$" Set objRegExp = new RegExp objRegExp.IgnoreCase = True objRegExp.Pattern = patternStr RepStringEnd = objRegExp.Replace(targetStr, replaceStr) end function function CheckOfFileType(fileName, checkType) checkType = checkType & "$" Set objRegExp = new RegExp objRegExp.IgnoreCase = True objRegExp.Pattern = checkType regResult = objRegExp.Test(fileName) CheckOfFileType = regResult end function