재우니의 블로그

삭제할 폴더를 선택하고, 7일 기간 이후의 파일은 전부 삭제하는 vbscript 구현하기

 

 

기술적인 부분 지원 드립니다. 아래 사항은 삭제할 폴더를 선택하고, 7일 기간 이후의 파일은 전부 삭제하는 vbs 입니다.

아래 사항을 메모장으로 xxx.vbs 로 만들어서 이를 windows 의 작업(job) 을 통해 하루 한번 처리하도록 하면 고객지원하는데 수월할 예정입니다. 기간은 고객(업체)와 상의 후 진행하시기 바랍니다.

감사합니다.

 

 

 

TempFolderPath = "C:\inetpub\logs\LogFiles\W3SVC21"  '삭제대상 폴더 경로 입니다.

NumberOfDays = 7 ' 7일 이전 폴더 및 파일 삭제 됩니다.

'Set objects & error catching
On Error Resume Next
Dim fso
Dim objFolder
Dim objFile
Dim objSubfolder

Set fso = CreateObject("Scripting.FileSystemObject")
Set objFolder = fso.GetFolder(TempFolderPath)

'DELETE all files in TempFolder Path older than x days
For Each objFile In objFolder.files
           If DateDiff("d", objFile.DateCreated,Now) > NumberOfDays Then
                     objFile.Delete True
           End If
Next


'DELETE all subfolders in TempFolder Path older than x days
For Each objSubfolder In objFolder.Subfolders
           If DateDiff("d", objSubfolder.DateCreated,Now) > NumberOfDays Then
                     objSubfolder.Delete True
           End If
Next

 

아래 코드는 특정 폴더에 7일 이전의 파일을 전부 일괄 삭제하는 코드를 https://chat.openai.com/chat ChatGpt 에 요청해 봤습니다. 비교해서 보심 좋을 듯 싶습니다.

 

Option Explicit

Dim strFolder, objFSO, objFolder, objFile, dtmDate
Dim intDays, strExtension

' Set the folder path
strFolder = "D:\Deploy\LGUPlusJob\bin"

' Set the number of days
intDays = 7

' Set the file extension (optional)
strExtension = ""

' Create the file system object
Set objFSO = CreateObject("Scripting.FileSystemObject")

' Get the folder object
Set objFolder = objFSO.GetFolder(strFolder)

' Loop through each file in the folder
For Each objFile In objFolder.Files
    ' Check if the file is older than the specified number of days
    dtmDate = objFile.DateLastModified
    If DateDiff("d", dtmDate, Now) > intDays Then
        ' Check if the file has the specified extension (if provided)
        If strExtension = "" Or LCase(Right(objFile.Name, Len(strExtension))) = LCase(strExtension) Then
            ' Delete the file
            objFile.Delete
        End If
    End If
Next

' Clean up objects
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing

 

 

delete.vbs
0.00MB