본문 바로가기

WEB

폴더내 파일명 일부 몽땅 변경

특정 폴더내에 있는 모든 파일에 대해 파일명 중 일부분을 변경하는 vbs 스크립트 소스 입니다.

ex)  Abcd.txt ---> aBcd.txt 로 파일명의 일부분을 변경할 수 있습니다.

 

'폴더 선택
Const MY_COMPUTER = &H11&
Const WINDOW_HANDLE = 0
Const OPTIONS = 0
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(MY_COMPUTER)
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder _
    (WINDOW_HANDLE, "Select a folder:", OPTIONS, strPath)
     
If objFolder Is Nothing Then
    Wscript.Quit
End If

Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path

file_path = objPath

target_file_name = InputBox("변경할 문자를 입력하세요." & vbCrLF & _
                            "(중간문자 허용)" & vbCrLF & _
                            " ex. Abcd.txt -> aBcd.txt" & vbCrLF & _
                            " 변경할 문자 : Ab" & vbCrLF & _
                            " 변경될 문자 : aB")
change_file_name = InputBox("변경될 문자를 입력하세요.")

' File 이름변경
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colFiles = objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Directory.Name='" & file_path & "'} Where " _
        & "ResultClass = CIM_DataFile")

For Each objFile In colFiles
    strOldName = objFile.FileName
    strNewName = replace(strOldName,target_file_name,change_file_name)
    strCHName = objFile.Drive & objFile.Path & strNewName & "." & objFile.Extension    
    errResult = objFile.Rename(strCHName)   
Next

Wscript.Echo "Done!"

 

응용.

 확장자를 일괄 변경시에는 위에 녹색 배경색으로 표시된 부분을 수정하시면 됩니다. 그럼,