AKAI TSUKI

System development or Technical something

ほうほう

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