본문 바로가기
카테고리 없음

중복파일 삭제 vb

by 팁텍북 2024. 7. 5.

Sub DeleteFiles(condition As String)
    Dim fso As Object
    Dim folder As Object
    Dim file As Object
    Dim lastModifiedFile As Object
    Dim folderPath As String
    
    ' 파일 시스템 객체 생성
    Set fso = CreateObject("Scripting.FileSystemObject")

    ' 현재 폴더 경로 설정
    folderPath = "C:\Your\Folder\Path" ' 실제 경로로 변경 필요

    ' 폴더 객체 설정
    Set folder = fso.GetFolder(folderPath)

    ' 가장 마지막 수정된 파일을 찾기 위한 변수 초기화
    Set lastModifiedFile = Nothing
    
    ' 파일 반복문
    For Each file In folder.Files
        If InStr(file.Name, condition) > 0 Then
            If lastModifiedFile Is Nothing Then
                Set lastModifiedFile = file
            ElseIf file.DateLastModified > lastModifiedFile.DateLastModified Then
                Set lastModifiedFile = file
            End If
        End If
    Next file
    
    ' 파일 삭제 반복문 (마지막 수정된 파일 제외)
    For Each file In folder.Files
        If InStr(file.Name, condition) > 0 And Not file Is lastModifiedFile Then
            file.Delete
        End If
    Next file

    ' 객체 해제
    Set lastModifiedFile = Nothing
    Set file = Nothing
    Set folder = Nothing
    Set fso = Nothing
End Sub

댓글